Go to file
Pasquale Caruso 245ed22cff updated license file to GPL V3 2026-04-09 10:11:41 +02:00
database_utils Sonar Fixes 2026-03-20 12:15:57 +01:00
itserr_backend.egg-info First commit plorabunt 2025-08-28 12:07:27 +02:00
routers Sonar Fixes 2026-03-20 12:15:57 +01:00
utils Sonar Fixes 2026-03-20 12:15:57 +01:00
.gitignore First commit plorabunt 2025-08-28 12:07:27 +02:00
CODE_OF_CONDUCT.md created CODE_OF_CONDUCT, CONTRIBUTING, LICENSE, Makefile and SECURITY files 2026-01-23 12:03:20 +01:00
CONTRIBUTING.md updated contributing, security and code of conduct files 2026-03-12 11:46:44 +01:00
DOCUMENTAZIONE_TECNICA.md Fix workflow, metadata order and name 2025-11-04 17:32:21 +01:00
Dockerfile First commit plorabunt 2025-08-28 12:07:27 +02:00
KNOWN_ISSUES.md added KNOW ISSUES file 2026-03-12 17:25:58 +01:00
LICENSE updated license file to GPL V3 2026-04-09 10:11:41 +02:00
Makefile created CODE_OF_CONDUCT, CONTRIBUTING, LICENSE, Makefile and SECURITY files 2026-01-23 12:03:20 +01:00
README.md created CODE_OF_CONDUCT, CONTRIBUTING, LICENSE, Makefile and SECURITY files 2026-01-23 12:03:20 +01:00
SECURITY.md updated contributing, security and code of conduct files 2026-03-12 11:49:53 +01:00
__init__.py First commit plorabunt 2025-08-28 12:07:27 +02:00
app.py swagger api fixed 2026-02-19 20:14:42 +01:00
d4science_public_key.pem First commit plorabunt 2025-08-28 12:07:27 +02:00
pyproject.toml First commit plorabunt 2025-08-28 12:07:27 +02:00
requirements.txt Add aiofiles requirements 2026-03-20 14:25:15 +01:00
script.sh First commit plorabunt 2025-08-28 12:07:27 +02:00
sonar-project.properties Sonar Fixes 2026-03-20 12:15:57 +01:00

README.md

ITSERR WP6 Plorabunt — Backend

Backend API for the ITSERR WP6 Plorabunt project. This service provides functionalities for CSV import, dynamic table management, semantic search (powered by Qdrant and embeddings), and resource retrieval APIs.

This project is part of a larger ecosystem. Here are the related repositories:

Prerequisites

  • Python: >= 3.11
  • PostgreSQL: Required for data storage and metadata.
  • Qdrant: Required for semantic search capabilities.

Quick Start (Local Development)

1. Environment Setup

Create and activate a virtual environment:

python -m venv .venv
.\.venv\Scripts\Activate.ps1

2. Install Dependencies

pip install -r requirements.txt

3. Configuration

Set the required environment variables. Example for PowerShell:

$env:POSTGRES_USER = "itserr_user"
$env:POSTGRES_PASSWORD = "your_password"
$env:DB_HOST = "localhost"
$env:DB_PORT = "5432"
$env:POSTGRES_DB = "itserr_db3_plorabunt"
$env:QDRANT_HOST = "localhost"
$env:QDRANT_PORT = "6333"

4. Run the Application

uvicorn app:app --host 0.0.0.0 --port 8004 --reload

Main API Endpoints

  • GET / — Health check / Hello World
  • POST /search — Semantic search
  • POST /keyword-search — Lexical search
  • POST /api/upload/start — CSV upload and schema inference
  • POST /api/upload/confirm — Confirm import and start background job

Technical Documentation

Detailed technical information, including architecture overview and database schemas, can be found in DOCUMENTAZIONE_TECNICA.md.

Deployment

For production, it is recommended to use Docker. See the provided Dockerfile and script.sh for guidance. The application is typically served using Gunicorn with Uvicorn workers.

docker build -t itserr-wp6-be .

Configuration in production is often handled via secrets (e.g., /run/secrets/wp6_services_secret.yml). Check utils/config.py for implementation details.