Thank you for your interest in contributing to ReddiChat! We welcome contributions from the community.
- Python 3.13+ (for backend)
- Node.js 18+ (for frontend)
- Git
- Docker (optional)
-
Fork and Clone
git clone https://github.com/YOUR_USERNAME/ReddiChat.git cd ReddiChat -
Backend Setup
cd backend pip install uv uv install cp .env.example .env # Configure your environment variables uv run uvicorn app.main:app --reload
-
Frontend Setup
cd frontend npm install npm run dev
- Use the issue tracker to report bugs
- Include steps to reproduce
- Provide environment details
- Open an issue describing the feature
- Explain the use case and benefits
- Discuss implementation approach
-
Create a Branch
git checkout -b feature/your-feature-name
-
Make Changes
- Follow existing code style
- Add tests if applicable
- Update documentation
-
Test Your Changes
# Backend tests cd backend && uv run pytest # Frontend tests cd frontend && npm test
-
Submit Pull Request
- Clear description of changes
- Link to related issues
- Include screenshots for UI changes
- Follow PEP 8
- Use type hints
- Add docstrings for functions
- Use async/await for I/O operations
- Use functional components with hooks
- Follow ESLint configuration
- Use TypeScript-style prop validation
- Maintain responsive design
ReddiChat/
├── backend/ # FastAPI backend
│ ├── app/ # Main application code
│ ├── tests/ # Test files
│ └── docs/ # API documentation
├── frontend/ # React frontend
│ ├── src/ # Source code
│ └── public/ # Static assets
├── deployment/ # Deployment scripts
└── assets/ # Project media files
Feel free to open an issue for any questions or reach out to the maintainers.
Happy coding! 🚀