mirror of https://github.com/vee1e/bulk-questionnaire-upload - Fork containing all the code for my C4GT '25 menteeship at D
Find a file
vee1e 8b13ec7071
docs: slim down root README, move detail into folder READMEs
Root README now has: one-liner description, live links, screenshot
placeholders, CI-updated perf table, stack summary, short contributing.

backend/README.md: full API reference, file format, DB schema, testing.
frontend/README.md: setup, runtime config, structure, features, testing.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-02 13:58:36 +05:30
.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
pytest.ini feat: implement CI workflow, enhance file validation, and add test cases 2025-08-26 00:22:54 +05:30
README.md docs: slim down root README, move detail into folder READMEs 2026-06-02 13:58:36 +05:30
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.

Metric Type Recent Performance
File Validation 4580ms (0.0450.080s)
Form Parsing 142190ms (0.1420.190s)
Form Upload 270680ms (0.2700.680s)
Question Processing 0.1550.443ms per item
Option Processing 0.1280.352ms per item
Batch Processing 270680ms per form
Delete Operations 1244ms (0.0120.044s)
Cold Start Time ~500ms (Render free tier)

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