mirror of https://github.com/vee1e/bulk-questionnaire-upload - Fork containing all the code for my C4GT '25 menteeship at D
Find a file
2026-06-02 08:30:25 +00:00
.github/workflows feat: add CI perf-metrics job to benchmark deployed API and update README 2026-06-02 13:49:30 +05:30
backend docs: slim down root README, move detail into folder READMEs 2026-06-02 13:58:36 +05:30
frontend docs: slim down root README, move detail into folder READMEs 2026-06-02 13:58:36 +05:30
scripts feat: add CI perf-metrics job to benchmark deployed API and update README 2026-06-02 13:49:30 +05:30
tests feat: update file parsing to return the actual mForm format 2025-09-11 16:47:17 +05:30
.gitignore feat: add Vercel deployment config and runtime API URL loading 2026-06-02 12:21:52 +05:30
LICENSE docs: add license 2025-07-09 06:46:05 +05:30
pytest.ini feat: implement CI workflow, enhance file validation, and add test cases 2025-08-26 00:22:54 +05:30
README.md chore: update performance metrics from CI [skip ci] 2026-06-02 08:30:25 +00:00
run.sh fix: refine validation UI with updated colors and spacing in upload component, and other fixes 2025-07-29 01:07:47 +05:30

Bulk Questionnaire Upload System

Upload, validate, and manage Excel-based questionnaires through a modern web UI. XLSForm-compatible three-sheet format (Forms / Questions Info / Answer Options), parsed into a mobile-app-ready JSON schema and stored in MongoDB.

Live: bulk-questionnaire-upload.vercel.app · API: bulk-questionnaire-upload.onrender.com


Screenshots

Upload & Validate Form List Form Preview
screenshot screenshot screenshot

Performance

Benchmarks are measured automatically on every push to main against the live Render deployment.

Last measured: 2026-06-02 08:30 UTC against the live Render deployment.

Metric Type Recent Performance
File Validation 13141519ms (1.3141.519s)
Form Parsing 48325984ms (4.8325.984s)
Form Upload N/A (MongoDB not connected)
Question Processing N/A (MongoDB not connected)
Option Processing N/A (MongoDB not connected)
Batch Processing N/A (MongoDB not connected)
Delete Operations N/A (MongoDB not connected)
Cold Start Time 346ms

Stack

Layer Tech
Frontend Angular 19, Angular Material, SSR
Backend FastAPI, Uvicorn, Pandas, Motor
Database MongoDB Atlas
Deploy Vercel (frontend) · Render (backend)
CI GitHub Actions — tests + live perf benchmarks

See backend/README.md for API reference, file format specs, and local setup.
See frontend/README.md for component structure, config, and development guide.


Contributing

  1. Fork and create a branch: git checkout -b feat/your-thing
  2. Make changes and ensure tests pass: pytest tests/backend · npm run test:run
  3. Commit with a conventional message: feat:, fix:, docs:, test:
  4. Open a pull request — CI runs backend tests, frontend tests, and a live perf benchmark on merge

Checklist before opening a PR:

  • Tests added or updated
  • No new lint errors
  • API changes reflected in backend/README.md