1.8 KiB
1.8 KiB
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
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
cp .env.example .env
# Edit .env and add your Firefly III API token
4. Install and Run Backend
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
cd frontend
npx create-react-app . --template typescript
npm install recharts axios
npm start
6. Docker Deployment
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