stupa-pdf-api/docs/README.md

99 lines
3.9 KiB
Markdown

# 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
- **[Architecture Overview](./ARCHITECTURE.md)** - System architecture, components, and design decisions
- **[API Reference](./API_REFERENCE.md)** - Complete API endpoint documentation
- **[Frontend Guide](./FRONTEND_GUIDE.md)** - Frontend development and usage guide
- **[Database Schema](./DATABASE_SCHEMA.md)** - Database structure and relationships
### 🚀 Getting Started
- **[Installation Guide](./INSTALLATION.md)** - Step-by-step installation instructions
- **[Configuration Guide](./CONFIGURATION.md)** - Environment variables and configuration options
- **[Quick Start](./QUICK_START.md)** - Get up and running quickly
### 💻 Development
- **[Development Guide](./DEVELOPMENT.md)** - Development workflow and best practices
- **[Contributing Guide](./CONTRIBUTING.md)** - How to contribute to the project
- **[Testing Guide](./TESTING.md)** - Testing strategies and procedures
### 🔧 Features
- **[Attachment Feature](./ATTACHMENT_FEATURE.md)** - File attachment functionality
- **[Comparison Offers Feature](./COMPARISON_OFFERS_FEATURE.md)** - Managing comparison offers
- **[PDF Processing](./PDF_PROCESSING.md)** - PDF generation and parsing
- **[PDF Integration](./PDF_INTEGRATION.md)** - LaTeX templates and PDF form integration
### 🚢 Deployment
- **[Deployment Guide](./DEPLOYMENT.md)** - Production deployment instructions
- **[Docker Guide](./DOCKER.md)** - Docker configuration and usage
- **[Security Guide](./SECURITY.md)** - Security best practices and considerations
### 🔍 Troubleshooting
- **[FAQ](./FAQ.md)** - Frequently asked questions
- **[Troubleshooting Guide](./TROUBLESHOOTING.md)** - Common issues and solutions
- **[Migration Guide](./MIGRATION.md)** - Database migration procedures
## Quick Links
- **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](./FAQ.md)
3. Look through the [Troubleshooting Guide](./TROUBLESHOOTING.md)
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](./CONTRIBUTING.md)
2. Submit a pull request with your improvements
3. Or create an issue describing what needs to be updated
Last updated: 2024