Thank you for your interest in contributing to Backendify! This document provides guidelines and instructions for contributing.
Please be respectful and constructive in all interactions. We're building something together!
- Check if the bug has already been reported in Issues
- If not, create a new issue with:
- Clear title and description
- Steps to reproduce
- Expected vs actual behavior
- Environment details (OS, Docker version, etc.)
- Check existing issues and discussions
- Create a new issue with the
enhancementlabel - Describe the feature and its use case
- Fork the repository
- Create a feature branch:
git checkout -b feature/my-feature - Make your changes
- Write/update tests
- Ensure all tests pass
- Commit with clear messages
- Push and create a Pull Request
- Docker & Docker Compose
- Python 3.11+
- Node.js 18+
cd backend
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
pip install -r requirements-dev.txt # Dev dependencies
# Run tests
pytest
# Run with auto-reload
uvicorn app.main:app --reloadcd frontend
npm install
npm run dev
# Type checking
npm run typecheck
# Linting
npm run lint- Follow PEP 8
- Use type hints
- Format with
black - Sort imports with
isort - Lint with
ruff
- Use TypeScript strict mode
- Follow ESLint configuration
- Use Prettier for formatting
Use clear, descriptive commit messages:
feat: add advanced filtering to data API
fix: resolve token refresh race condition
docs: update authentication guide
refactor: simplify policy evaluation logic
test: add tests for webhook delivery
Prefixes:
feat:- New featurefix:- Bug fixdocs:- Documentationrefactor:- Code refactoringtest:- Testschore:- Maintenance
- One feature per PR - Keep PRs focused
- Update tests - Add/update tests for your changes
- Update docs - Document new features or API changes
- Pass CI - Ensure all checks pass
- Respond to feedback - Address review comments promptly
backendify/
βββ backend/
β βββ app/
β β βββ api/routes/ # API endpoints
β β βββ models/ # SQLAlchemy models
β β βββ schemas/ # Pydantic schemas
β β βββ services/ # Business logic
β β βββ core/ # Config, security
β βββ tests/
βββ frontend/
β βββ src/
β β βββ routes/ # Page components
β β βββ components/ # Reusable components
β β βββ lib/ # Utilities
β βββ tests/
βββ docs/
cd backend
pytest # Run all tests
pytest -v # Verbose output
pytest tests/test_auth.py # Run specific file
pytest -k "test_login" # Run tests matching patterncd frontend
npm run test- Open a GitHub Discussion
- Check existing issues and docs
Thank you for contributing! π