stupa-pdf-api/docs
2025-09-01 19:42:00 +02:00
..
features Filters and Bulk Actions 2025-09-01 19:42:00 +02:00
API_REFERENCE.md Neatly packaged for docker 2025-09-01 05:00:02 +02:00
ARCHITECTURE.md Neatly packaged for docker 2025-09-01 05:00:02 +02:00
ATTACHMENT_FEATURE.md Neatly packaged for docker 2025-09-01 05:00:02 +02:00
COMPARISON_OFFERS_FEATURE.md Neatly packaged for docker 2025-09-01 05:00:02 +02:00
CONFIGURATION.md Neatly packaged for docker 2025-09-01 05:00:02 +02:00
DEVELOPMENT.md Neatly packaged for docker 2025-09-01 05:00:02 +02:00
INSTALLATION.md Neatly packaged for docker 2025-09-01 05:00:02 +02:00
PDF_INTEGRATION.md LaTeX dynamic building 2025-09-01 14:26:38 +02:00
QUICK_START.md Neatly packaged for docker 2025-09-01 05:00:02 +02:00
README.md LaTeX dynamic building 2025-09-01 14:26:38 +02:00

STUPA PDF API Documentation

Welcome to the STUPA PDF API documentation. This directory contains comprehensive documentation for the STUPA PDF API system, which handles PDF processing, form filling, and application management for student parliament funding applications.

Documentation Structure

📚 Main Documentation

🚀 Getting Started

💻 Development

🔧 Features

🚢 Deployment

🔍 Troubleshooting

  • API Base URL: http://localhost:8000 (development)
  • Frontend URL: http://localhost:3000 (development)
  • Database UI (Adminer): http://localhost:8080 (development)

Project Overview

The STUPA PDF API is a comprehensive system for managing student parliament funding applications. It provides:

  • PDF Processing: Parse uploaded PDFs and extract structured data
  • Form Generation: Generate filled PDF forms from application data
  • Application Management: Create, read, update, and delete applications
  • File Attachments: Upload and manage supporting documents
  • Comparison Offers: Manage comparison offers for cost positions
  • Authentication: Secure access with application keys and master keys
  • Rate Limiting: Protect against abuse with configurable rate limits

Technology Stack

Backend

  • FastAPI - Modern Python web framework
  • SQLAlchemy - SQL toolkit and ORM
  • MySQL - Relational database
  • PyPDF2 - PDF processing
  • Python 3.11 - Programming language

Frontend

  • React 18 - UI library
  • TypeScript - Type-safe JavaScript
  • Material-UI - Component library
  • Zustand - State management
  • Vite - Build tool

Infrastructure

  • Docker - Containerization
  • Docker Compose - Multi-container orchestration
  • Nginx - Web server and reverse proxy

Getting Help

  1. Check the relevant documentation section
  2. Search the FAQ
  3. Look through the Troubleshooting Guide
  4. Create an issue in the project repository

Documentation Updates

This documentation is actively maintained. If you find any errors or areas that need improvement, please:

  1. Check the Contributing Guide
  2. Submit a pull request with your improvements
  3. Or create an issue describing what needs to be updated

Last updated: 2024