Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LeColaz Platform - WP6 Backend (Ingestion MVP)

This repository contains a minimal ingestion backend for WP6.

What is implemented

Infrastructure (Docker)

  • PostgreSQL 16 (metadata storage)
  • MinIO (S3-compatible object storage)
  • FastAPI backend
  • React frontend

Backend features

  • Health check endpoint
  • File upload to MinIO
  • File metadata persistence in PostgreSQL
  • File listing API

Files download

Direct browser downloads via MinIO presigned URLs are intentionally disabled during early development. Reason:

  • Presigned URLs require a stable public hostname
  • This will be introduced later via Nginx / reverse proxy

How to run (development)

Prerequisites

  • Docker + Docker Compose
  • Python 3.11+ (for local development)

Python virtual environment (local)

From the repo root:

python -m venv .venv

Activate the venv:

# Windows (PowerShell)
.venv\Scripts\Activate.ps1

# macOS/Linux
source .venv/bin/activate

Install requirements:

pip install -r backend/requirements.txt

Start the platform

cd infra
docker compose up -d --build

or 

docker compose up -d 

Stop the platform

docker compose down

if you want to delete volumes (erase data)

docker compose down -v

Backend Logs (Development)

The backend runs inside a Docker container. To view its logs in real time, use:

docker logs -f lecolaz-backend

Frontend (React)

The frontend is built with React and runs separately in development.

cd frontend
npm install
npm run dev

Access

  • Backend: FastAPI docs at http://localhost:8000/docs
  • MinIO: UI at http://localhost:9001 (user lecolaz, password lecolaz123)
  • PostgreSQL: Connect with any client (e.g. DBeaver) using host localhost, port 5432, database lecolaz, user lecolaz, password lecolaz

About

Early development repository for the LeColaz data platform.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages