User Guide
Architecture
Learn about Journiv's architecture, components, and API documentation.
Architecture
Journiv consists of these main components:
- Backend: FastAPI-based REST API with SQLModel ORM, supporting SQLite (default) or PostgreSQL
- Frontend: React web interface, a temporary legacy Flutter interface at
/legacy/, and Flutter mobile apps - Background processing: A Celery worker uses Redis/Valkey to process uploaded media and import/export jobs; it shares the app's database and media volume
API Documentation
Journiv provides a complete REST API with interactive documentation:
- Swagger UI:
http://localhost:8000/docs- Interactive API testing and exploration - ReDoc:
http://localhost:8000/redoc- Clean, readable API reference - OpenAPI Schema:
http://localhost:8000/api/v1/openapi.json- Machine-readable OpenAPI 3.0 specification
The API supports authentication via JWT tokens and provides endpoints for all features including journals, entries, moods, prompts, analytics, media, and import/export.