80 lines
1.5 KiB
Markdown
80 lines
1.5 KiB
Markdown
# Contributing to Munich News Daily
|
|
|
|
Thank you for your interest in contributing!
|
|
|
|
## Getting Started
|
|
|
|
1. Fork the repository
|
|
2. Clone your fork
|
|
3. Create a feature branch
|
|
4. Make your changes
|
|
5. Run tests
|
|
6. Submit a pull request
|
|
|
|
## Development Setup
|
|
|
|
```bash
|
|
# Clone repository
|
|
git clone <your-fork-url>
|
|
cd munich-news
|
|
|
|
# Copy environment file
|
|
cp backend/.env.example backend/.env
|
|
|
|
# Start development environment
|
|
docker-compose up -d
|
|
|
|
# View logs
|
|
docker-compose logs -f
|
|
```
|
|
|
|
## Running Tests
|
|
|
|
```bash
|
|
# Run all tests
|
|
docker-compose exec crawler python -m pytest tests/crawler
|
|
docker-compose exec sender python -m pytest tests/sender
|
|
docker-compose exec backend python -m pytest tests/backend
|
|
|
|
# Run specific test
|
|
docker-compose exec crawler python tests/crawler/test_crawler.py
|
|
```
|
|
|
|
## Code Style
|
|
|
|
- Follow PEP 8 for Python code
|
|
- Use meaningful variable names
|
|
- Add docstrings to functions
|
|
- Keep functions small and focused
|
|
- Write tests for new features
|
|
|
|
## Commit Messages
|
|
|
|
- Use clear, descriptive commit messages
|
|
- Start with a verb (Add, Fix, Update, etc.)
|
|
- Keep first line under 50 characters
|
|
- Add details in the body if needed
|
|
|
|
Example:
|
|
```
|
|
Add RSS feed validation
|
|
|
|
- Validate URL format
|
|
- Check feed accessibility
|
|
- Add error handling
|
|
```
|
|
|
|
## Pull Request Process
|
|
|
|
1. Update documentation if needed
|
|
2. Add tests for new features
|
|
3. Ensure all tests pass
|
|
4. Update CHANGELOG.md
|
|
5. Request review from maintainers
|
|
|
|
## Questions?
|
|
|
|
Open an issue or reach out to the maintainers.
|
|
|
|
Thank you for contributing! 🎉
|