0% found this document useful (0 votes)
13 views

Smart Attendance Assignment System Problem Statement[1]

The document outlines a project to develop a Smart Attendance and Assignment Submission System for educational institutions, aimed at improving attendance tracking and assignment management. It details user roles (Admin, Teacher, Student), core features like attendance management and assignment submission, and suggests a technology stack including MERN. Additionally, it provides submission guidelines, judging criteria, and a structured breakdown of modules for implementation.

Uploaded by

havyasu2005
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views

Smart Attendance Assignment System Problem Statement[1]

The document outlines a project to develop a Smart Attendance and Assignment Submission System for educational institutions, aimed at improving attendance tracking and assignment management. It details user roles (Admin, Teacher, Student), core features like attendance management and assignment submission, and suggests a technology stack including MERN. Additionally, it provides submission guidelines, judging criteria, and a structured breakdown of modules for implementation.

Uploaded by

havyasu2005
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 8

Hackathon Problem Statement: Smart

Attendance and Assignment Submission


System
Introduction
In the digital age, the need for efficient and streamlined systems in education is crucial.
Schools and universities often face challenges in managing student attendance and tracking
assignment submissions. The goal of this project is to develop a web-based solution that
addresses these issues and provides a simple yet powerful system for managing attendance
and assignment submissions.

Problem Overview
You are tasked with developing a Smart Attendance and Assignment Submission System for
educational institutions. The system should enable teachers to efficiently mark attendance,
upload assignments, and track student submissions. Students should be able to view their
attendance records, submit assignments, and receive feedback from their teachers.

Requirements

User Roles:
1. **Admin**: The admin will manage the creation of teacher and student accounts. They
have complete access to the system.
2. **Teacher**: Teachers can mark attendance, upload assignments, track submissions, and
provide feedback on assignments.
3. **Student**: Students can view their attendance records, submit assignments, view
feedback and grades provided by teachers.

Core Features:
1. **Attendance Management**: Teachers should be able to mark attendance for each class
or session. They should also be able to view and edit past attendance records if necessary.
2. **Assignment Submission**: Teachers can post new assignments with deadlines.
Students will be able to submit their assignments through the platform, and teachers can
view and download them.
3. **Feedback and Grading**: After reviewing the assignments, teachers can provide
feedback and grades for each student. This feedback will be visible only to the respective
student.
4. **Real-time Notifications**: Students should receive notifications about upcoming
deadlines, feedback on assignments, and warnings if their attendance is falling below the
required level.

Bonus Features:
1. **Analytics and Reporting**: Implement a dashboard for both teachers and admins to
view analytics related to student attendance and assignment submission rates. Graphs or
tables could be used to visualize this data.
2. **Mobile-Responsive Design**: Ensure that the platform is fully functional and user-
friendly on mobile devices as well as desktops.
3. **Export and Import Options**: Allow teachers to export attendance records and
assignment reports in formats like CSV or PDF. Similarly, allow admins to bulk-upload
student data.

Technology Stack
Participants are free to choose the technology stack they are comfortable with. However,
they are encouraged to use the following technologies:
1. **Frontend**: HTML, CSS, JavaScript (React, Angular, or Vue.js)
2. **Backend**: Node.js, Python (Flask/Django), or Java (Spring Boot)
3. **Database**: MySQL, PostgreSQL, or MongoDB
4. **Authentication**: JWT, OAuth, or session-based authentication
5. **Hosting**: Participants can deploy their solutions on any platform such as Heroku,
AWS, or Firebase.

Submission Guidelines
1. **Code Repository**: Submit the code via a GitHub repository link.
2. **Documentation**: Ensure that the project is well-documented, including setup
instructions, usage, and a brief on how the features were implemented.
3. **Presentation**: Prepare a short presentation (5-7 minutes) explaining the system's
features, challenges faced, and how the solution solves the problem.

Judging Criteria
1. **Functionality**: How well does the system meet the core requirements?
2. **User Experience**: Is the system easy to use and navigate?
3. **Code Quality**: Is the code well-structured, documented, and maintainable?
4. **Innovation**: Are there any additional features or creative solutions implemented?
5. **Presentation**: How well is the system explained and presented to the judges?
Creating a MERN (MongoDB, Express, React, Node.js) stack solution for a system with three
distinct roles (Admin, Teacher, Student) involves multiple modules to manage
functionalities for each role. Here's a detailed breakdown of how to organize these modules:

1. User Management Module (Admin)

This module is focused on managing teacher and student accounts, with full control by the
Admin role.

Backend:

 Models:

o Admin Model: The admin has full control over the system, including user
management (teachers and students).

o Teacher Model: Fields like name, email, subjects taught, etc.

o Student Model: Fields like name, email, class, attendance records, and
assignment details.

 Controllers:

o Admin Controller:

 Create, update, delete Teacher accounts.

 Create, update, delete Student accounts.

 View all users (teachers and students).

 Manage permissions and settings for other users.

 Routes:

o POST /admin/create-teacher: Admin can create teacher accounts.

o POST /admin/create-student: Admin can create student accounts.

o PUT /admin/update-user/:id: Admin can update details for teachers or


students.

o DELETE /admin/delete-user/:id: Admin can delete a user.

Frontend (React):

 Admin Dashboard:
o Components for managing users:

 Teacher Management: Form to add, update, or delete teacher


accounts.

 Student Management: Form to add, update, or delete student


accounts.

o Tables listing teachers and students, with actions to modify user


information.

2. Attendance Module (Teacher & Student)

The attendance module allows teachers to mark student attendance and students to view
their attendance records.

Backend:

 Models:

o Attendance Model: Stores records of student attendance. Fields include:

 studentId: Reference to the student.

 date: Date of attendance.

 status: Present/Absent.

 Controllers:

o Teacher Controller:

 Mark attendance for students.

 View attendance records for the students.

o Student Controller:

 Fetch attendance records for the logged-in student.

 Routes:

o POST /teacher/mark-attendance: Teacher marks attendance for students.

o GET /teacher/view-attendance/:studentId: Teacher can view attendance of


a specific student.

o GET /student/attendance: Student can view their own attendance.

Frontend (React):
 Teacher View:

o Attendance Form: Mark attendance for a specific class.

o Attendance Records: View attendance history for the class or individual


students.

 Student View:

o Attendance Records: Display of personal attendance history.

3. Assignment Module (Teacher & Student)

This module allows teachers to upload assignments, track submissions, and provide
feedback. Students can submit assignments and view feedback.

Backend:

 Models:

o Assignment Model: Stores assignment details. Fields include:

 title: Title of the assignment.

 description: Description of the assignment.

 dueDate: Due date for submission.

 teacherId: Reference to the teacher who assigned it.

o Submission Model: Tracks submissions by students. Fields include:

 assignmentId: Reference to the assignment.

 studentId: Reference to the student.

 fileUrl: Link to the submitted file.

 feedback: Teacher's feedback on the submission.

 grade: Grade assigned.

 Controllers:

o Teacher Controller:

 Upload new assignments.

 View all submissions for a particular assignment.

 Provide feedback and assign grades to submissions.


o Student Controller:

 View available assignments.

 Submit assignments.

 View feedback and grades on submissions.

 Routes:

o POST /teacher/create-assignment: Teacher can create a new assignment.

o GET /teacher/view-submissions/:assignmentId: View all submissions for a


specific assignment.

o POST /teacher/provide-feedback/:submissionId: Provide feedback and


assign grades.

o GET /student/assignments: View all available assignments.

o POST /student/submit-assignment/:assignmentId: Submit an assignment.

o GET /student/view-feedback: View feedback and grades on submissions.

Frontend (React):

 Teacher View:

o Assignment Creation Form: Interface to upload assignments with title,


description, and due date.

o Submission View: View and evaluate submissions by students with options


to add feedback and grades.

 Student View:

o Assignment List: Display of all assignments with submission deadlines.

o Submission Form: Upload assignments.

o Feedback View: View feedback and grades from teachers.

4. Authentication and Authorization Module (All Roles)

This module manages user login, role-based access control (Admin, Teacher, Student), and
JWT-based authentication.

Backend:

 Authentication:
o JWT-based login and registration.

o Different roles (Admin, Teacher, Student) with role-based access controls.

 Middleware:

o authMiddleware: Ensures that users are authenticated via JWT.

o roleMiddleware: Verifies if a user has the appropriate role to access specific


routes.

 Routes:

o POST /auth/login: Login endpoint.

o POST /auth/register: Register endpoint for Admin to create users.

o GET /auth/me: Fetch the current logged-in user's profile.

Frontend (React):

 Login/Registration Form: Interface for users to log in or register.

 Protected Routes: Pages accessible only to authenticated users based on roles (e.g.,
Admin Dashboard, Teacher Dashboard, Student Dashboard).

5. Grading and Feedback Module (Teacher & Student)

Teachers can provide feedback and grades for student assignments, and students can view
their grades.

Backend:

 Models:

o Integrated with the Submission Model mentioned in the Assignment


Module.

 Controllers:

o Teacher Controller:

 Provide feedback and grades on submitted assignments.

o Student Controller:

 View feedback and grades.

 Routes:
o POST /teacher/provide-feedback/:submissionId: Provide feedback on
submissions.

o GET /student/view-feedback: View feedback on their submitted


assignments.

Frontend (React):

 Teacher View:

o Feedback Form: Interface to provide grades and comments on student


submissions.

 Student View:

o Feedback Display: Display feedback and grades received for assignments.

Additional Considerations:

 Database: Use MongoDB with Mongoose to handle the models for users,
assignments, submissions, attendance, etc.

 File Upload: For assignment submissions, you can use services like AWS S3 or any
cloud storage to handle uploaded files.

 Deployment: Consider using platforms like Heroku for backend deployment and
Netlify for frontend deployment.

With these modules in place, you can structure your MERN stack project effectively,
ensuring clear separation of concerns and functionality for each user role.

You might also like