# Complete Project Setup Guide for Firefly III Analytics ## Prerequisites - Python 3.11+ - Node.js 18+ - Docker & Docker Compose (for containerized deployment) - Git ## Manual Project Setup If the automated init script doesn't work, follow these steps: ### 1. Create Directory Structure ```bash mkdir -p backend/app/{routers,services,clients} mkdir -p frontend/src/{components,pages,services,types} mkdir -p data ``` ### 2. Backend Setup Create `backend/pyproject.toml`: ``` [project] name = "firefly-analytics-backend" version = "0.1.0" description = "Firefly III Analytics & Reporting Backend" requires-python = ">=3.11" dependencies = [ "fastapi==0.104.1", "uvicorn[standard]==0.24.0", "httpx==0.25.2", "python-dotenv==1.0.0", "pydantic==2.5.0", "pydantic-settings==2.1.0", "sqlalchemy==2.0.23", "python-dateutil==2.8.2", "apscheduler==3.10.4", ] [project.optional-dependencies] dev = [ "pytest==7.4.3", "pytest-asyncio==0.21.1", "black==23.12.0", "ruff==0.1.8", ] ``` ### 3. Create .env File ```bash cp .env.example .env # Edit .env and add your Firefly III API token ``` ### 4. Install and Run Backend ```bash cd backend python -m venv venv # On Windows: venv\Scripts\activate # On Mac/Linux: source venv/bin/activate pip install -e . uvicorn app.main:app --reload ``` ### 5. Frontend Setup ```bash cd frontend npx create-react-app . --template typescript npm install recharts axios npm start ``` ### 6. Docker Deployment ```bash docker-compose up -d ``` ## API Documentation Once the backend is running, visit http://localhost:8000/docs for interactive API docs. ## Project File Structure (Complete) All source code files are documented in `COMPLETE_SOURCE_CODE.md`