Skip to content

About

Toy project for a restaurant event organisation application. This is an AI practice project.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Note

This is a toy project to try AI-driven development.
Almost everything was written by AI, except for this section of the README and some instructions .md files.
Commit messages will sometimes contain comments on what was done by AI or not.

Restaurant Project

A restaurant event management application built with FastAPI where users can create events, invite participants, and manage available food/drink items.

Features

  • Items Management: Create and list menu items (meals, drinks, food)
  • User Management: Create and list users with email validation
  • Event Management: Create and list events with available items and participants

Project Structure

restaurant/
├── pyproject.toml
├── README.md
├── models-breakdown.md
├── env                          # Environment variables (DATABASE_URL)
├── alembic.ini                  # Alembic configuration
├── alembic/                     # Database migrations
│   ├── env.py
│   ├── script.py.mako
│   └── versions/                # Migration files (autogenerated)
└── src/
    └── restaurant/
        ├── __init__.py
        ├── main.py
        ├── database.py          # Database configuration
        ├── models.py            # SQLAlchemy models
        ├── schemas.py           # Pydantic schemas
        └── routers/
            ├── __init__.py
            ├── items.py
            ├── users.py
            └── events.py

Technology Stack

  • Python: 3.13+
  • FastAPI: Web framework
  • Pydantic: Data validation with email support
  • SQLAlchemy: ORM for database operations
  • PostgreSQL: Database (via psycopg2-binary)
  • Alembic: Database migrations
  • Uvicorn: ASGI server
  • UV: Package and dependency management

How to Run

Start the FastAPI development server:

uv run uvicorn restaurant.main:app --reload

The server will start on http://127.0.0.1:8000

API Documentation

Once the server is running, access:

Available Endpoints

  • Items: GET /items, POST /items
  • Users: GET /users, POST /users
  • Events: GET /events, POST /events

Domain Models

See models-breakdown.md for detailed domain model specifications.

Development

Add dependencies:

uv add <package>

Remove dependencies:

uv remove <package>

About

Toy project for a restaurant event organisation application. This is an AI practice project.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages