Prerequisites
Before you begin, ensure you have the following installed:- Python 3.11+ - Required for the FastAPI backend
- Node.js 20+ - Required for the Next.js frontend
- uv - Fast Python package installer (recommended)
- Git - For version control
Project Structure
Backend Setup
Configure environment variables
Copy the example environment file:Edit
.env with your API keys and configuration. See Configuration for details.Frontend Setup
Configure environment variables
Copy the example environment file:Set your Convex URL and other frontend configuration.
Verify Installation
Check Backend Health
Service flags will show
true once you’ve configured the corresponding API keys.Run Backend Tests
Access API Documentation
FastAPI provides interactive API documentation at:- Swagger UI: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc
Development Tools
Code Quality
The project uses Ruff for linting and formatting:Type Checking
Python code uses Pydantic for runtime validation. The project targets Python 3.11+.Hot Reload
Both backend and frontend support hot reload:- Backend: uvicorn
--reloadflag watches for Python file changes - Frontend: Next.js dev server watches for TypeScript/React changes
Common Issues
Port Already in Use
If port 8000 or 3000 is already in use:Module Import Errors
Ensure you’re running commands from the correct directory:- Backend commands should run from
backend/ - Frontend commands should run from
frontend/
Missing Dependencies
If you encounter missing dependencies:Development Workflow
-
Create a feature branch
- Make your changes with hot reload active
-
Run tests before committing
-
Commit your changes
-
Push and create a pull request
Next Steps
Configuration
Learn about environment variables and service configuration
Testing
Write and run tests for your code
Architecture
Understand the system architecture
Contributing
Guidelines for contributing to the project