Eine Anwendung zur Analyse von Speiseplänen an der Leibniz Universität Hannover.
- 📊 Echtzeit-Analyse der Speisepläne aller Campus-Optionen
- 💰 Caner Score (Kalorien/€) für beste Werte
- 🤖 KI-gestützte Empfehlungen von Persönlichkeiten
- 📱 Mobilfreundlich und mit Dunklem Modus
git clone https://github.com/match-Misc/caner.git
cd caner
uv syncCopy the example environment file and fill in your values:
cp .env.example .envRun the application:
uv run python main.pyVisit http://localhost:5000
Always use uv:
uv add package-name- install dependenciesuv run python script.py- run scripts
Run tests and linting:
uvx ruff check . # Lint code
uv run python -m pytest test_downloads.py # Run tests
⚠️ Before finishing a task: Runuvx ruff check .and fix all issues. Iterate until no errors remain.
Alternatively, you can run the application using Docker:
# 1. Copy the example secrets file and fill in your values
cp .env.docker.example .env
# 2. Build the Docker image
docker build -t caner .
# 3. Run the container
docker run -p 30823:30823 --env-file .env canerOr use Docker Compose:
# Build and run
docker compose up --build
# Run in background
docker compose up -d
# View logs
docker compose logs -fThe web app will be available at http://localhost:30823
- Backend: Python 3.13 + Flask
- Database: PostgreSQL + SQLAlchemy
- Frontend: Bootstrap 5 + Vanilla JS
- AI: Mistral API
Required in .env:
SESSION_SECRETMISTRAL_API_KEYDATABASE_URL
Port in use: uv run python main.py --port 5001
Database issues: Ensure PostgreSQL is running and credentials are correct.
Missing dependencies: uv sync
MIT License