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