@@ -8,6 +8,8 @@ A RESTful API for accessing educational institution data across multiple schools
88- ** Standardized Endpoints** : Consistent API structure across all institutions
99- ** Pagination** : Built-in support for large datasets
1010- ** Filtering** : Query specific data subsets using query parameters
11+ - ** Data Uploads** : Upload CSV/Excel to append data with dynamic column mapping (see Data Upload section)
12+ - ** New Datasets** : Access LLM recommendations and analysis-ready tables across all databases
1113
1214## Prerequisites
1315
@@ -48,7 +50,7 @@ A RESTful API for accessing educational institution data across multiple schools
4850
4951Start the development server:
5052``` bash
51- uvicorn main:app --reload
53+ uvicorn api. main:app --reload
5254```
5355
5456The API will be available at ` http://localhost:8000 `
@@ -92,6 +94,20 @@ For each institution, the following endpoints are available:
9294- ` GET /{institution_code}/financial-aid ` - List financial aid records
9395- ` GET /{institution_code}/financial_aid/count ` - Get count of financial aid records
9496
97+ #### LLM Recommendations
98+ - ` GET /{institution_code}/llm-recommendations ` - List LLM recommendation records
99+ - ` GET /{institution_code}/llm_recommendations/count ` - Get count of LLM recommendation records
100+
101+ #### Analysis-Ready Data
102+ - ` GET /{institution_code}/analysis-ready ` - List analysis-ready records
103+ - ` GET /{institution_code}/ar_{institution_code}/count ` - Get count of analysis-ready records
104+
105+ ## Data Upload Feature
106+
107+ - Quick start: see ` QUICKSTART_UPLOAD.md `
108+ - Full documentation: see ` UPLOAD_FEATURE_README.md `
109+ - Endpoints are available under ` /upload ` in Swagger UI.
110+
95111## Query Parameters
96112
97113### Pagination
@@ -217,7 +233,7 @@ The workflow runs automatically on:
217233- Pushes to `main` or `develop` branches
218234- Pull requests to the `main` branch
219235
220- The Docker image will be tagged as `latest` and pushed to ECR .
236+ The Docker image will be tagged and pushed to Docker Hub (or your configured registry) .
221237
222238**Install required packages:**
223239` ` ` bash
@@ -243,7 +259,7 @@ Each database in this project contains the following three tables:
243259
244260### 1. Create Databases and Tables
245261```bash
246- python db_setup.py
262+ python db_operations/ db_setup.py
247263```
248264
249265This creates 5 databases with 3 tables each:
@@ -284,28 +300,34 @@ If Ollama is not available or fails, scripts automatically use rule-based synthe
284300devcolor-backend/
285301├── api/
286302│ ├── __init__.py
287- │ ├── main.py # API routing setup
288- │ ├── schemas.py # Pydantic models
303+ │ ├── main.py # FastAPI app and router registration
304+ │ ├── schemas.py # Pydantic models
289305│ └── routers/
290306│ ├── __init__.py
291- │ ├── al.py # Alabama institution endpoints
292- │ ├── csusb.py # CSUSB institution endpoints
293- │ ├── kctcs.py # KCTCS institution endpoints
294- │ ├── ky.py # Kentucky institution endpoints
295- │ └── oh.py # Ohio institution endpoints
307+ │ ├── al.py # AL endpoints (incl. new endpoints)
308+ │ ├── csusb.py # CSUSB endpoints (incl. new endpoints)
309+ │ ├── kctcs.py # KCTCS endpoints (incl. new endpoints)
310+ │ ├── ky.py # KY endpoints (incl. new endpoints)
311+ │ ├── oh.py # OH endpoints (incl. new endpoints)
312+ │ └── upload.py # Data upload endpoints
296313├── db_operations/
297314│ ├── __init__.py
298- │ ├── connection.py # Database connection utilities
299- │ ├── db_setup.py # Database setup and table creation
300- │ ├── generate_db_summary.py # Database summary generation
301- │ └── test_db_connection.py # Database connection testing
302- ├── .env # Environment variables (not version controlled)
303- ├── .gitignore
304- ├── check_databases.py # Database availability checker
305- ├── check_tables.py # Table structure inspector
306- ├── count_records.py # Record counting utility
307- ├── main.py # FastAPI application entry point
308- ├── requirements.txt # Python dependencies
309- ├── README.md # This file
310- ├── test_env.py # Environment variable testing
311- └── test_ky_query.py # KY database query testing
315+ │ ├── connection.py # DB connection utilities
316+ │ ├── db_setup.py # Database setup and table creation
317+ │ ├── add_dynamic_columns.py # Migration for dynamic upload columns
318+ │ ├── upload_handler.py # Upload processing logic
319+ │ └── generate_db_summary.py # Database summary generation
320+ ├── docker/
321+ │ ├── Dockerfile
322+ │ └── docker-compose.yml
323+ ├── testscripts/
324+ │ ├── check_databases.py
325+ │ ├── check_schema.py
326+ │ ├── check_tables.py
327+ │ ├── count_records.py
328+ │ └── test_new_endpoints.py
329+ ├── requirements.txt # Python dependencies
330+ ├── README.md # This file
331+ ├── QUICKSTART_UPLOAD.md # Upload quick start
332+ ├── UPLOAD_FEATURE_README.md # Upload feature docs
333+ └── NEW_ENDPOINTS_SUMMARY.md # Summary of new endpoints
0 commit comments