Skip to content

Latest commit

 

History

History
128 lines (104 loc) · 5.48 KB

File metadata and controls

128 lines (104 loc) · 5.48 KB

Contributors

This project was built as a final assignment for the AI & Deep Learning course. The work was split three ways along natural module boundaries — each contributor took ownership of one tier of the stack.

Name Role Focus
Gaurav Singh Thakur ML & Computer Vision lead Training, OCR, evaluation
Navatej Reddy Muddam Backend & Infra lead FastAPI server, vehicle lookup
Sai Pranay Gundu Frontend & Mobile lead Web SPA, mobile app, shader

Who owns what

The project tree below maps every file to its primary owner. When two people pair-coded on something, the primary owner is whoever drove the file the most; the other is listed as a contributor inside the file's header comment.

Gaurav Singh Thakur — ML & Computer Vision

yolov12_ocr_dataset.ipynb       Training notebook (Colab)
evaluate.py                     Detection + OCR evaluation harness
backend/providers/plate_ocr.py  YOLO + EasyOCR + cloud OCR fallback chain
autolens/samples.py             Sample plate generation (PIL) for the demo
test.py                         Earlier real-time tracker prototype
img.py                          Frame extractor for training-data prep
PROJECT_REPORT.md               Academic writeup — pipeline, results,
                                 failure modes

Responsibilities: dataset curation, training the YOLOv12 model on Roboflow data, exporting to ONNX, integrating EasyOCR for the read step, building the evaluation script that produces the metrics in the report, and writing up the methodology.

Navatej Reddy Muddam — Backend & Infra

autolens/app.py                 FastAPI routes: /api/scan, /api/batch,
                                 /api/video, /api/lookup-plate,
                                 /api/scans, /api/analytics, /api/export
autolens/deps.py                First-run pip bootstrapper
autolens/__init__.py
backend/main.py                 Standalone backend entry point used by
                                 the mobile app's run.py launcher
backend/config.py               Settings loaded from .env via
                                 pydantic-settings
backend/models.py               Pydantic schemas shared with the
                                 mobile app
backend/storage.py              JSON-backed scan history with safe
                                 atomic writes
backend/providers/vehicle_info.py
                                CarsXE plate->VIN, NHTSA vPIC decode,
                                NHTSA recalls, mock fallback
backend/.env.example
backend/requirements.txt
demo.py                         Web-demo launcher
run.py / run.bat / run.sh       Mobile-app launcher (backend + Metro
                                 + Android build)

Responsibilities: API design, integrating the OCR + vehicle-lookup providers behind a single /api/scan endpoint, configuring the dev- ops surface (run scripts, env vars, requirements, sample data), and keeping the mobile app and the web demo speaking the same JSON.

Sai Pranay Gundu — Frontend & Mobile

webapp/index.html               Single-page app structure
webapp/autolens.css             Glass-morphism + plate badge + tabs
webapp/autolens.js              Alpine.js state + fetch handlers for
                                every tab (Scan, Examples, Batch,
                                Video, Analytics, Settings, About)
webapp/background.js            WebGL aurora shader (raw GLSL)

PlateScanApp/App.tsx            React Native shell + tab nav
PlateScanApp/src/screens/       Scan / History / Settings screens
PlateScanApp/src/components/    Header, ImageCapture, PlateResult,
                                 VehicleCard, StatePicker
PlateScanApp/src/services/      api.ts, storage.ts (AsyncStorage)
PlateScanApp/src/types/index.ts TypeScript schemas mirroring backend
PlateScanApp/android/           Native Android scaffolding
PlateScanApp/package.json,
PlateScanApp/tsconfig.json,
PlateScanApp/babel.config.js,   Tooling configs
PlateScanApp/metro.config.js,
PlateScanApp/jest.config.js

Responsibilities: the SPA layout and styling, the inline-webcam integration, the manual plate-entry flow, the WebGL aurora background shader, and the entire React Native Android client.

Shared / contributed by everyone

These files were touched by all three contributors at various points (merging features, smoke tests, README edits). No single owner.

README.md                       This file's neighbour. Final edits
                                 by all three on submission day.
LICENSE                         Reviewed and signed off by all three.
CONTRIBUTORS.md                 (you are here)
.gitignore

How we worked

The split above isn't a strict wall. The owner of a file is the person you should ask first; everyone else on the team has read and reviewed every PR. Pair sessions:

  • Gaurav + Navatej — wiring backend/providers/plate_ocr.py into the FastAPI /api/scan endpoint with a clean error path.
  • Navatej + Sai Pranay — locking down the JSON shape so the SPA and the mobile app can render the same vehicle card.
  • Gaurav + Sai Pranay — making the Examples tab actually useful (Gaurav generated the sample plates in PIL, Sai Pranay built the gallery + result view).

Issues, questions, and bug reports go on the GitHub issue tracker. The owner of the affected area picks them up first.