Skip to main content

Tech Stack

This document lists all technologies used in the Evatar project, their versions, and purposes, based on the actual requirements.txt, package.json, and build.gradle.kts.


Backend (Python)​

The backend is in the backend/ directory, based on Python FastAPI framework.

TechnologyVersionPurpose
Python3.11+Runtime environment, asyncio async programming
FastAPI0.115.12Web framework, auto-generates OpenAPI docs, dependency injection
Uvicorn0.34.3ASGI server, supports WebSocket and HTTP/2
SQLAlchemy2.0.41ORM framework, declarative model definition, query building
SQLiteBuilt-inEmbedded database, WAL mode and FTS5 full-text search
httpx0.28.1Async HTTP client for LLM API and search API calls
Pillow11.2.1Image processing, thumbnail generation and image scaling (>2048px)
Pydantic2.11.3Data validation and serialization
pydantic-settings2.9.1Environment variable config management, prefix EVATAR_
python-multipart0.0.20File upload parsing (Multipart form data)
aiofiles24.1.0Async file I/O
cryptography44.0.3Fernet symmetric encryption for sensitive data fields

Android Client (Kotlin)​

Android client in the android/ directory, minimum support API 26 (Android 8.0).

TechnologyVersionPurpose
Kotlin2.0+ (plugin.compose)Primary language, coroutine async programming
Jetpack ComposeBOM 2024.06.00Declarative UI framework
Material3compose-bomMaterial Design 3 component library
OkHttp4.12.0HTTP client, connection pooling, interceptors, auto-retry
Gson2.11.0JSON serialization/deserialization
WorkManager2.9.1Background scheduled task scheduling (screenshot sync)
Coil2.6.0Compose native image loading library
Accompanist0.34.0Runtime permission request wrapper
Navigation Compose2.7.7Page navigation
Lifecycle2.8.4ViewModel + Compose lifecycle management
Coroutines1.8.1Kotlin coroutines, async network requests and concurrent uploads

Web Frontend (React)​

Frontend in the frontend/ directory, built with Vite 8.

TechnologyVersionPurpose
React19.2.6UI framework, function components + Hooks
TypeScript6.0.2Type-safe JavaScript superset
Vite8.0.12Build tool, HMR hot reload, API proxy
Tailwind CSS4.3.0Atomic CSS framework
Axios1.16.1HTTP client, request/response interceptors
react-markdown10.1.0Markdown rendering component (chat messages, dynamic notes)
lucide-react1.17.0Icon library
i18next26.3.0Internationalization framework
react-i18next17.0.8React i18n bindings
i18next-browser-languagedetector8.2.1Auto-detect browser language

Documentation​

TechnologyVersionPurpose
Docusaurus3.xDocumentation site generator
MermaidlatestDiagram rendering in markdown