3b807c0f751fbfd52829277a1654f642451fc133
Co-authored-by: Copilot <copilot@github.com>
AI
A multi-modal AI web application. Users can choose between different AI models for text generation, text-to-image, text-to-video, and image-to-video generation, powered by openrouter.ai.
Components
| Component | Technology | Description |
|---|---|---|
| Backend | FastAPI + uvicorn | REST API for auth, user management, and AI generation |
| Database | DuckDB | Lightweight embedded storage for users and session data |
| Frontend | Flask + Jinja2 | Server-rendered UI served at https://ai.allucanget.biz |
Getting Started
Prerequisites
- Python 3.11+
- An openrouter.ai API key
Setup
# Clone the repo
git clone https://git.allucanget.biz/allucanget/ai.allucanget.biz.git
cd ai.allucanget.biz
# Create and activate virtual environment
python -m venv .venv
# Windows
.venv\Scripts\activate
# Linux/macOS
source .venv/bin/activate
# Install dependencies
pip install -r requirements.txt
# Copy and fill in environment variables
cp .env.example .env
Running the backend
cd backend
uvicorn app.main:app --reload --port 8000
Running the frontend
cd frontend
flask --app app.main run --port 5000
Running tests
pytest
Project Structure
backend/ FastAPI backend
app/
routers/ API route handlers
services/ Business logic
models/ Pydantic models
tests/
frontend/ Flask frontend
app/
templates/ Jinja2 HTML templates
static/ CSS, JS, images
tests/
data/ DuckDB database files (gitignored)
docs/ Architecture documentation
Documentation
For the full architecture documentation see docs/ARCHITECTURE.md, which links to all 12 arc42 sections.
Description
Languages
Python
70.2%
HTML
21.4%
CSS
5.7%
JavaScript
2.4%
Dockerfile
0.3%