Thank you for your interest in contributing to SadakAI!
- Search existing issues - Someone may have already reported the problem
- Create a new issue - Use the bug report template
- Include details:
- Clear description
- Steps to reproduce
- Expected vs actual behavior
- Screenshots if applicable
- Browser/OS information
- Check existing proposals - Avoid duplicates
- Create a feature request - Use the feature template
- Explain the use case - Why is this useful?
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature
- Make your changes
- Write tests (if applicable)
- Commit with clear messages:
git commit -m 'Add amazing feature' - Push to your fork:
git push origin feature/amazing-feature
- Open a Pull Request
- Follow the existing code style
- Add comments for complex logic
- Update documentation if needed
- Test your changes locally
- Keep PRs focused and atomic
- Python 3.11+
- Node.js 18+
- Git
# Clone the repo
git clone https://github.com/your-username/SadakAI.git
cd SadakAI
# Set up backend
cd api
cp .env.example .env
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
# Set up frontend
cd ../dashboard
cp .env.example .env
npm install# Backend
cd api
pytest
# Frontend
cd dashboard
npm test- Follow PEP 8
- Use type hints
- Add docstrings for functions
- Maximum line length: 100
- Use ESLint
- Follow existing patterns
- Use TypeScript types
- Maximum line length: 100
- Use Tailwind utility classes
- Follow BEM naming for custom CSS
- Mobile-first approach
- Bug fixes
- Performance improvements
- Documentation improvements
- Mobile responsiveness
- New features
- Test coverage
- UI/UX improvements
- New hazard types
- Advanced analytics
- User authentication
- GitHub Issues - For bugs and features
- GitHub Discussions - For questions
- Discord - (if available)
- Be respectful and inclusive
- Welcome newcomers
- Accept constructive criticism
- Focus on what's best for the community
Thank you for contributing to safer Indian roads! 🛣️