Overview:
The application should aim to automate the student attendance process using fingerprint authentication and geolocation. The app will have different user roles (Driver, Parent, Accountant, Admin), each with specific functionalities. Data will be integrated with Google Sheets and Firebase for real-time access and storage.
User Roles and Functionalities:
- Driver Login:
- Primary Role: Data Gatherer
-
Functions:
- Authenticate using fingerprint and registered mobile number.
- Mark student attendance at four critical points:
- Boarding the bus (morning)
- Dropping at school (morning)
- Boarding the bus (afternoon)
- Dropping at bus stop (afternoon)
- Capture geolocation and timestamp for each attendance event.
- Use mobile’s fingerprint sensor for student attendance.
- Real-time bus tracking for parents.
- Parent Login:
- Primary Role: Viewer
-
Functions:
- Authenticate using OTP sent to registered mobile number.
- View attendance logs with geolocation and timestamps for each event.
- Real-time bus location tracking.
- View fee status (paid/unpaid) and pay fees through the app.
- Restricted access if previous month’s fee is unpaid.
- Receive notifications for fee payment reminders.
- Accountant Login:
- Primary Role: Attendance and Fee Manager
-
Functions:
- View attendance logs class-wise and bus-wise.
- Update fee payment status.
- Allow exceptions for unpaid fees (with admin approval).
- Manage sign-ups for students using admission number and mobile number.
- Admin Login:
- Primary Role: Overall Manager
-
Functions:
- View comprehensive logs of attendance and bus-wise details.
- Assign roles and manage users (except parents).
- Approve exceptions for unpaid fees.
- Oversee all activities within the app.
Data Integration:
- Google Sheets:
- Used for validating student data during sign-up.
- Fields: Admission Number, Student Name, Class/Section, Father’s Name, Mother’s Name, Registered Mobile Number, Address.
- Firebase Database:
- Used for real-time data storage and retrieval.
- Manages user authentication and attendance logs.
- Stores fee payment status and exceptions.
- Backup and synchronize data with Google Sheets.
Workflow:
- Sign-Up Process:
- Accountant/Admin enters the admission number and mobile number.
- System fetches data from Google Sheets for validation.
- If valid, proceed to fingerprint registration.
- If already registered, display “Already Registered” message.
- Store registration details in Firebase.
- Attendance Marking:
- Driver authenticates using fingerprint and registered mobile number.
- Driver captures student’s fingerprint at each of the four critical points.
- System records geolocation and timestamp for each event.
- Data is stored in Firebase and synchronized with Google Sheets.
- Parent Access:
- Parent logs in using OTP sent to registered mobile number.
- If fees are unpaid, redirect to fee payment window.
- Parent can view attendance logs and real-time bus tracking.
- Notifications are sent for upcoming fee payments.
- Fee Management:
- Accountant updates fee payment status in the app.
- Parents can pay fees through the integrated payment portal.
- System restricts app access if previous month’s fee is unpaid.
Database Schema:
- Google Sheets:
- Fields: AdmNo, StudName, ClassSection, fName, mName, Smsno, Add.
- Firebase Database:
-
Users Collection:
- user_id (AdmNo): Unique identifier
- name: Student’s Name
- class_section: Class and Section
- father_name: Father’s Name
- mother_name: Mother’s Name
- registered_mobile: Mobile Number
- address: Address
- role: (Driver/Parent/Accountant/Admin)
-
Attendance Collection:
- attendance_id: Unique identifier
- user_id: Student’s AdmNo
- timestamp: Time of attendance marking
- location: Geolocation coordinates
- event_type: (Board Morning, Drop School, Board Afternoon, Drop Bus Stop)
-
Fee Collection:
- fee_id: Unique identifier
- user_id: Student’s AdmNo
- status: (Paid/Unpaid)
- amount: Fee amount
- due_date: Fee due date
- exception: (If any, with admin approval)
User Interface:
- Login Screen:
- Options: Driver Login, Parent Login, Accountant Login, Admin Login
- Fingerprint authentication for drivers.
- OTP-based authentication for parents.
- Sign-Up Screen (Accountant/Admin):
- Fields: Admission Number, Mobile Number
- Button: Fetch Data
- Display student details if valid.
- Fingerprint registration if not already registered.
- Attendance Screen (Driver):
- Display list of students.
- Fingerprint capture for attendance.
- Display geolocation and timestamp for each event.
- Parent Dashboard:
- View attendance logs.
- Real-time bus tracking.
- Fee status and payment portal.
- Notifications for fee payment.
- Accountant/Admin Dashboard:
- Comprehensive attendance logs.
- Fee management and exceptions.
- User management (assign roles, approve exceptions).
Backend:
- Firebase Authentication
- Firebase Firestore for database
- Google Maps API for geolocation
- Payment Gateway API for fee transactions
Data Integration:
- Google Sheets API for student data validation
Security Measures:
- Authentication:
- Fingerprint authentication for drivers and sign-up process.
- OTP-based authentication for parents.
- Role-based access control.
- Data Privacy:
- Encrypt sensitive data stored in Firebase.
- Regular backups to Google Sheets.
- Access Control:
- Restrict access based on fee payment status.
- Admin-controlled role assignments and exceptions.
Conclusion:
This detailed blueprint outlines the development of an Android application for student attendance using fingerprint authentication and geolocation. The app will cater to different user roles (Driver, Parent, Accountant, Admin) with specific functionalities. Integration with Google Sheets and Firebase ensures real-time data access and storage. The project is structured to ensure a secure, user-friendly, and efficient attendance management system for schools.
Budget: INR 50,000