🎓 Full-Stack web app for managing Egypt's Applied Technology Schools. Features a smart conversational RAG search over documents, AI-powered automatic data extraction (LLM), secure admin CRUD operations, and key-based API protection. Built with FastAPI, Streamlit, Pgvector, and Docker.
# 🎓 Applied Technology Schools Management & Smart RAG System
A production-ready **Full-Stack AI-powered Web Application** for managing, searching, and extracting information about Egypt's **Applied Technology Schools**.
The platform combines **FastAPI**, **PostgreSQL**, **Vector Search (pgvector)**, **Large Language Models (LLMs)**, and **Retrieval-Augmented Generation (RAG)** to automate school data management and provide an intelligent document-based assistant.
---
# đź“– Overview
Applied Technology Schools are becoming one of Egypt's most important educational initiatives. Unfortunately, information about these schools is scattered across Facebook posts, ministry announcements, PDF guides, and news articles.
This project centralizes all school information into a structured database while leveraging Generative AI to automate data extraction and answer questions directly from official documents.
---
# 🎯 Problem
Students usually struggle to find information such as:
- Admission requirements
- Minimum accepted score
- Specializations
- Industrial partners
- School locations
- Accepted governorates
- Available accommodation
- Transportation
- Study duration
- Career opportunities
The information exists, but it is spread across lengthy documents and social media announcements.
Manual data entry is also repetitive and error-prone.
---
# đź’ˇ Solution
The system provides two AI-powered services.
## 1. AI Data Extraction
Administrators can paste any Arabic text describing a school.
Example sources:
- Facebook posts
- Ministry announcements
- News articles
- Official websites
The LLM extracts structured information such as:
- Arabic Name
- English Name
- Location
- Specialization
- Minimum Score
- Industrial Partner
- Description
- Website
- Establishment Year
The extracted data is validated using Pydantic and stored automatically in PostgreSQL.
---
## 2. Smart PDF Question Answering (RAG)
Administrators upload official PDF documents.
The backend:
- Ex …