53d2d2ffef16c81c61e5c63fb1b9ce11e6c00525
- Implemented admin dashboard with user management features including role assignment and deletion. - Added user profile page for updating email and password. - Created separate routes and templates for text, image, and video generation with appropriate forms. - Enhanced navigation with dropdown for generation options and loading overlay for better user experience. - Introduced comprehensive error handling and user feedback through alerts. - Updated styles for improved UI consistency and responsiveness. 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%