A comprehensive system for processing and evaluating Optical Mark Recognition (OMR) sheets with high accuracy and scalability.
- Backend API: FastAPI-based REST API for image processing and scoring
- ML Pipeline: CNN-based bubble classification with OpenCV preprocessing
- Frontend Dashboard: React-based web interface for uploads and results
- Database: PostgreSQL for data persistence and audit trails
- Reporting: PDF generation and analytics dashboard
- Horizontal scaling with load balancers
- Redis caching for template data
- Queue-based processing for high-volume uploads
- CDN for static assets and processed images
omr-platform/
βββ backend/ # FastAPI backend
βββ frontend/ # React frontend
βββ ml_models/ # CNN models and training
βββ database/ # Database schemas and migrations
βββ docs/ # Documentation
βββ tests/ # Test suites
βββ docker/ # Docker configurations
-
Backend Setup:
cd backend pip install -r requirements.txt uvicorn main:app --reload -
Frontend Setup:
cd frontend npm install npm start -
Database Setup:
docker-compose up -d postgres redis
- Throughput: 3000+ sheets per exam day
- Accuracy: <0.5% error tolerance
- Response Time: <2s per sheet processing
- Availability: 99.9% uptime
- Mobile camera support with lighting correction
- Multiple template version support
- Human-in-the-loop review system
- Real-time processing status
- Comprehensive audit logging
- Bulk export capabilities