Attendo is a MERN (MongoDB, Express.js, React.js, Node.js) stack application designed to simplify attendance tracking for teachers and students. With Attendo, teachers can easily create attendance sessions, specifying location radius preferences, which generate unique QR codes. Students can then scan these codes or use a provided URL to log in and mark their attendance. The application automatically fetches the student's location upon attendance submission, ensuring accuracy and security.
- Session Creation: Teachers can create attendance sessions with specified location radius preferences.
- Automatic Location Detection: Attendo automatically detects the teacher's location to generate accurate attendance sessions.
- QR Code Generation: Each attendance session generates a unique QR code for easy student access.
- Flexible Access: Students can either scan the QR code or use the provided URL to access the attendance session.
- Secure Authentication: Attendo uses JWT for authentication, hashing and salting user passwords for security.
- Email Verification: Users are verified via OTP during registration to ensure valid email addresses.
- Forgot Password Functionality: Users can reset their passwords using OTPs sent to their registered email addresses.
- Dashboard for Teachers and Students: Teachers have a dashboard to manage sessions and view attendance details, while students can view their attendance records and session details.
- Frontend: React.js
- Backend: Node.js, Express.js
- Database: MongoDB
- Image Storage: Cloudinary
To run Attendo locally, follow these steps:
- Clone this repository.
- Navigate to the
server
directory and runnpm install
to install server dependencies. - Navigate to the
client
directory and runnpm install
to install client dependencies. - Set up a MongoDB database and configure the connection in
server/config/db.js
. - Set up Cloudinary for image storage and configure the connection in
server/config/cloudinary.js
. - In the
server/config/keys.js
file, set up your JWT secret key. - Run
npm start
in both theserver
andclient
directories to start the application.
-
Teacher:
- Log in to your account as a teacher.
- Navigate to the dashboard and create a new attendance session.
- Specify the location radius and other session details.
- Generate the QR code and share it with your students.
- View attendance details and student submissions on the dashboard.
-
Student:
- Log in to your account as a student.
- Access the attendance session by scanning the QR code or using the provided URL.
- Click your photo and enter your Roll.no.
- Submit your attendance, which includes automatic location detection.
- View your attendance records and session details on the dashboard.
The application is deployed and accessible at Attendo Deploy.
For questions or feedback, feel free to contact us at rahulagniotri4444@gmail.com, dhruvilpatel2002@gmail.com.