Skip to content

parvenuprompting/api-starterproject

Repository files navigation

Knowledge Engine API 🧠

Dit is een Enterprise-Grade Backend Template voor het bouwen van schaalbare, veilige en slimme AI-toepassingen. Het project is volledig geoptimaliseerd voor RAG (Retrieval Augmented Generation) en Multi-Tenant SaaS omgevingen.


🚀 Key Features

🏢 Multi-Tenant (SaaS Ready)

Volledige isolatie van data voor SaaS-toepassingen.

  • Shared Content: Kennis die zichtbaar is voor alle klanten.
  • Private Content: Content die strikt afgeschermd is per klant (client_id).
  • API Licensing: Beheer toegang en limieten via API Keys en licenties.

🤖 AI & RAG Native

Klaar voor de volgende generatie AI-apps.

  • Vector Database: Volledige integratie met pgvector voor razendsnelle similarity search.
  • Auto-Embeddings: Tekst wordt bij opslaan automatisch omgezet naar vectoren (klaar voor OpenAI/Cohere).
  • Smart Snippets: Opslag van prompts, regels en context-blokken voor AI Agents.

🛡️ Enterprise Security

Veiligheid by design, niet als afterthought.

  • Non-Blocking Auth: Heavy crypto operaties blokkeren de server niet.
  • SHA256 API Keys: Veilige, snelle hashing voor API toegang.
  • Production Hardened: Gevalideerde configuratie, veilige 72-byte limit fixes, en Docker non-root user.

⚙️ Modern Tech Stack

  • Framework: FastAPI (Async)
  • Database: PostgreSQL 15 + pgvector
  • ORM: SQLAlchemy 2.0 (Modern AsyncIO)
  • Server: Gunicorn (Process Manager) + Uvicorn (Workers)
  • Quality: 100% Test Coverage, Ruff Linting, MyPy Typing.

🛠️ Installatie & Development

Zorg dat je Docker en Python 3.12+ hebt.

1. Setup

git clone <repo>
cd api-starterproject
cp .env.example .env

2. Start Services

Draai de database en app in development mode:

docker-compose up -d

3. Migraties & Seed

Zorg dat de database schema's up-to-date zijn:

# Installeer dependencies eerst lokaal als je zonder Docker CLI werkt
poetry install
poetry run alembic upgrade head

🚢 Productie Deployment

Dit project is "Deployment Ready".

Docker Productie Build

Gebruik de geoptimaliseerde Dockerfile voor een veilige, kleine image:

# 1. Build
docker build -t api-prod .

# 2. Run (Simulatie)
docker-compose -f docker-compose.prod.yml up -d

Wat is er geregeld?

  • Gunicorn Config: Automatische worker-scaling op basis van CPU cores.
  • Non-Root User: De container draait veilig als appuser.
  • No Build Deps: GCC en andere build tools zijn verwijderd uit de runtime.

🧪 Testen

Wij hanteren een strikte "Zero Warnings" policy.

poetry run pytest

Resultaat: >80% coverage en geen Pydantic/SQLAlchemy warnings.


📚 API Documentatie

Zodra de server draait:

  • Swagger UI: http://localhost:8000/docs
  • ReDoc: http://localhost:8000/redoc

Authenticatie

  1. Admin Login: POST /api/v1/admin/auth/login (email/password).
  2. Client Toegang: Voeg header X-API-Key: <jouw_key> toe aan requests.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published