Full Implementation Plan — Phase by Phase (Modular Approach)
Phase 1: Core Application & Document Upload (Student Side)
Goal:
Allow students to register, apply, and upload documents. Save everything to database and blob.
Modules:
1. Student Registration & Login (Firebase Auth)
• Student signs up/logs in via email
• Role-based dashboard (student only)
2. Scholarship Application Form
• React form: name, marks, income, caste, etc.
• Frontend validation
3. Document Upload Module
• Upload PDFs/images: mark sheet, income, etc.
• Use Multer (Node.js) and upload to Azure Blob Storage
4. Save Data to MongoDB
• Store form + document links + student ID
• Initial status: "Submitted"
Test Cases:
• Form validation
• Blob upload success
• DB record insertion
Deploy:
• React frontend: Azure Static Web App
• Node.js backend: Azure App Service
• MongoDB: Atlas or Azure Cosmos DB
• Blob Storage: Azure Storage
Phase 2: AI + Admin Dashboard Integration
Goal:
Add AI-based document verification + build the admin dashboard for reviewing applications.
Modules:
5. Azure Form Recognizer Integration
• Backend sends uploaded file URL to Form Recognizer
• Extract: name, marks, income
6. Validity Score Calculation
• Check:
o Is name/income/marks present?
o Is metadata clean?
o Is layout close to template?
• Store score (0–100)
7. Admin Login (Firebase - Admin Role)
• Login page for admin
• Dashboard only accessible to admins
8. Admin Dashboard (React)
• View student list
• Filter by caste/income/marks
• View documents & extracted fields
• Approve or reject
• Add optional remarks
Test Cases:
• AI field extraction
• Admin filters + approvals
• Validity score logic
Deploy:
• Extend backend routes (/admin/getAll, /admin/updateStatus)
• Protect admin routes (auth token verification)
Phase 3: Reporting, Analytics & Notifications
Goal:
Add features for reporting, visualization, and status tracking for students.
Modules:
9. Status Tracking Module (Student Side)
• Student sees live status:
o Submitted
o Under Review
o Approved / Rejected
• Can view admin remarks
10. Export to PDF / Excel (Admin)
• Admin can export filtered data
• Optional: Include extracted fields and approval status
11. Data Visualization (Chart.js)
• Bar/pie charts for:
o Caste-wise applicants
o Income brackets
o Application statuses
12. Notification System (Optional)
• On status change, send:
o Email (using NodeMailer or SendGrid)
o Or in-app popup
Test Cases:
• Chart rendering
• Exported report formats
• Status changes + email triggers