All Projects → staticshreyas → Attendance-Portal

staticshreyas / Attendance-Portal

Licence: GPL-3.0 license
We have developed a cutting-edge attendance recorder. Using face recognition, you can easily record attendance and have access to in-depth analysis and a wide range of functionalities. Because of the covid-19 pandemic, stringent guidelines have been established, and precautions must be made to minimise unnecessary physical encounters. As a resul…

Programming Languages

javascript
184084 projects - #8 most used programming language
SCSS
7915 projects

Projects that are alternatives of or similar to Attendance-Portal

express-mvc
A light-weight mvc pattern for express framework with minimum dependencies
Stars: ✭ 23 (+15%)
Mutual labels:  expressjs, passportjs
Mern Stack Authentication
Secure MERN Stack CRUD Web Application using Passport.js Authentication
Stars: ✭ 60 (+200%)
Mutual labels:  expressjs, passportjs
node-express-mongo-passport-jwt-typescript
A Node.js back end web application with REST API, user JWT authentication and MongoDB data storage using TypeScript
Stars: ✭ 51 (+155%)
Mutual labels:  expressjs, passportjs
typescript-express-passportjs
ExpressJs project uses TypeScript, PassportJS, Moongose, Continuous Integration (CircleCI.io) and Code Coverage (CodeCov.io)
Stars: ✭ 14 (-30%)
Mutual labels:  expressjs, passportjs
MovieGo
A Website implemented using MERN (MongoDB, ExpressJS, ReactJS and NodeJS) stack, which allows users to sign-in/register and book movie tickets online.
Stars: ✭ 26 (+30%)
Mutual labels:  expressjs, passportjs
passport-examples
A variety of examples using PassportJS with ExpressJS and ReactJS applications
Stars: ✭ 44 (+120%)
Mutual labels:  expressjs, passportjs
Reforum
A minimal forum board application. Built on top of React-Redux frontend, ExpressJS-NodeJS backend (with PassportJS for OAuth) and MongoDB databse.
Stars: ✭ 714 (+3470%)
Mutual labels:  expressjs, passportjs
Node Express Mongoose Passport Jwt Rest Api Auth
Node, express, mongoose, passport and JWT REST API authentication example
Stars: ✭ 146 (+630%)
Mutual labels:  expressjs, passportjs
Face recognition based attendance system
A python GUI integrated attendance system using face recognition to take attendance.
Stars: ✭ 70 (+250%)
Mutual labels:  face-recognition, attendance-management-system
Perk
A well documented set of tools for building node web applications.
Stars: ✭ 177 (+785%)
Mutual labels:  expressjs, passportjs
todo-list
A practical web application built with Node.js, Express, and MySQL for you to readily record, view, and manage your tasks with an account: Create, view, edit, delete, filter, and sort expenses are as easy as pie 🥧
Stars: ✭ 18 (-10%)
Mutual labels:  expressjs, passportjs
passport-magic
Magic is a Passport.js strategy that enables passwordless authentication middleware for any Express.js based application.
Stars: ✭ 35 (+75%)
Mutual labels:  expressjs, passportjs
mini-express-boilerplate
A minimal Express boilerplate with passport user authentication, mongoose and some security setup configured
Stars: ✭ 15 (-25%)
Mutual labels:  expressjs, passportjs
stocklist
Stock data collection and analysis
Stars: ✭ 27 (+35%)
Mutual labels:  analytics
MySpotify
A website to view your Spotify stats.
Stars: ✭ 38 (+90%)
Mutual labels:  expressjs
SQLGitHub
💻 SQLGitHub — Managing GitHub organization made easier
Stars: ✭ 34 (+70%)
Mutual labels:  analytics
express-typescript-mongoose-starter
A starter for Node JS, Express, Typescript, Mongoose application
Stars: ✭ 22 (+10%)
Mutual labels:  expressjs
zoe
Zoe: Container Analytics as a Service -- mirror of https://gitlab.eurecom.fr/zoe/main/
Stars: ✭ 51 (+155%)
Mutual labels:  analytics
goatcounter
Easy web analytics. No tracking of personal data.
Stars: ✭ 2,468 (+12240%)
Mutual labels:  analytics
swetrix-js
The JavaScript analytics client for Swetrix Analytics
Stars: ✭ 28 (+40%)
Mutual labels:  analytics

INTRO

Capture It!

Contributors Forks Stargazers Issues License


View Demo · Report Bug · Request Feature

Table of Contents

  1. About The Project
  2. Getting Started
  3. Usage
  4. License
  5. Contact
  6. Acknowledgements

About The Project

We have developed a cutting-edge attendance recorder which records attendance of the students using our face recognition model which has an accuracy of about 97%. Using face recognition, you can easily record attendance and have access to in-depth analysis and a wide range of functionalities. Because of the covid-19 pandemic, stringent guidelines have been established, and precautions must be made to minimise unnecessary physical encounters. As a result, our method has shown to be effective in eliminating the requirement for any type of physical interaction while collecting and analysing attendance.

Detailed explanation of the project is given below.

Built With

Getting Started

To get a local copy up and running follow these simple steps.

Prerequisites

Update to the latest version of npm

  • npm
    npm install npm@latest -g

Installation

  1. Clone the repo

    git clone https://github.com/staticshreyas/Attendance-Portal.git
  2. Install NPM packages

    npm install
  3. Install Python packages

    cd ./Py-Scrpits 
    pip install requirements.txt

Running the project

  1. Start the express server from the root directory
    npm start
  2. Start the flask server
    cd ./Py-Scripts
      python app.py
  3. Start the mongo server
    mongod --dbpath YOUR_PATH

Usage

Home Page: Lets take a dive into our portal!

product-home

Steps for registration of a student:

  1. Verify your email

    • 6 digit OTP is sent to the entered email

      product

      product-otpMail

(Note: Only college domain emails accepted)

product-home

  1. Fill the registration form

    product-otpMail

(Note: Cannot create account for an existing roll number)

product-home

(Note: Password must satisfy specified conditions)

product-home

  1. Logging in student's account for the first time

    • Classrooms page

      product

    • Profile page

      product

    • Defaulter page

      product

Steps for registration of a teacher:

  1. Verify your email

    • 6 digit OTP is sent to the entered email

      product

(Note: Only college domain emails accepted as mentioned above)

  1. Fill the registration form

    product-otpMail

(Note: Password must satisfy specified conditions)

product-home

  1. Logging in teacher's account for the first time

    • Dashboard page

      product

    • Classroom page

      product

    • Defaulter page

      product

Steps for creating a new classroom:

  1. Create a new classroom

    • Click "Create new classroom" on the classrooms page

      product

    • Fill the following form

      product

  2. View details

    • Click "See all" button of a particular classroom on the classrooms page

      product

    • Class details page after creating a new class

      product

Steps for manually adding a student to a new classroom:

  1. Add students directly

    • Click "Add students" on the class details page

      product

    • Add any student by clicking on "+" to add a student to the class

      product

    • After adding a student classrooms page

      product

    • After adding a student class details page

      product

    • Get an email notification when you are added to a class

      product

  2. Add students using filter

    • Click "Filters" on the Add Students page

      product

    • Select any filter/filters

      product

    • Add any student by clicking on "+" to add a student to the class

      product

  3. Add all students at once

    • Click "Add all" button on the Add Students page (You can add all filtered students as well)

      product

Steps for joining a classroom with an unique code:

  1. Copy code

    • Copy and send the unique code displayed on the class details page to students using your preferred choice of communication

      product

  2. Enter received code to join a classroom

    • A student will receive a code from the teacher. Using this code he can join that particular classroom by entering the code in the box displayed below

      product

    • Entering wrong code

    product

    • Entering correct code

    product

    • Entering code of a class, of which you are already a part

    product

Steps for uploading a picture for face recognition:

Note: This photo will also be set as a default profile picture of your account!!

  1. Upload image form

    • Open the upload image tab in the student's portal

      product

    • Select an image in whoch your face is clearly visible (Note: Only jpg format is accepted and your image must have the filename as follows 'rollnumber.jpg')

    • The image below is blurred for privacy.

    product

  2. After uploading your image

    • Classrooms page

      product

    • Profile page

      product

Steps for recording attendance:

Log in to your teacher's account.

  1. Conduct a lecture

    • Click the "Conduct Lecture" button in the class details to conduct a lecture

    product

    • After conducting a lecture the lecture number increases as highlighted below. After this step the teacher can start recording the attendance

    product

  2. Record attendance

    • Click the "Take attendance" button in the class details to start the camera and record the attendance

    product

    • A window will open and a camera will start to record the attendance. You can press q to exit the recording frame once you are done recording the attendance

    product

    • A notification bell sound will be heard once a student is recognised and his/her name will be displayed in the frame as shown below

    product

Note: Our app supports multiple face detection in a single frame as well.

To record a mass bunk you need to conduct a lecture by clicking on the above mentioned button, and then start the attendance recorder by clicking on the "Take Attendance" button and then close the camera by pressing "q" on the keyboard. This will be recorded as mass bunk as no students will be present to mark their attendance.

Statistics based on attendance:

  1. Dashboard

    • Our app calculates numerous statisitics based on the recorded attendance for the teachers to analyse. Below is a screenshot of the dashboard displaying the same.

    product

  2. Classrooms

    • The classroom page displays all the classrooms the teacher has created and displays various stats as displayed below.

    product

    • The class details page will also display various stats related to the particular classroom

    product

  3. Defaulter

    • The teacher can view a list of defaulter students and can also send mail for attendance warning by a click of a single button. (Note: You can apply any filter based on the class to sort the students as shown below)

    product

    • By clicking the send mail button an email is sent to the students as displayed below

    product

  4. Student Portal

    • Students can view all the classrooms they are a part of, and view their individual attendance in each of the classes.

    product

    • Students can view the classes in which they have attendance less than 75%

    product

    • Profile of the student will also show whether they have optimal overall attendance

    product

  5. Update Details

    Update Profile picture

    • Click on the profile photo to open the form. A modal will appear and then you can select the photo of your choice.

    product

    product

    • Once the photo is updated, you will be notified and the change will reflect on your profile.

    product

    Update Profile details

    • Click on the settings button to open the form. A modal will appear and then you can change the details of your choice

    product

    product

    • After submitting the form, the profile will be updated.

    product

    Update Class details

    • Click on the settings button of the required class to open the form. A modal will appear and then you can change the class details of your choice

    product

    • After submitting the form, the class details will be updated.

    product

Exporting to XLSX:

  1. Attendance export

    • You can export the attendance to .xlsx file by clicking on the "Download Attendance button" on the sidenav.

    • After the download has completed, you can access the xlsx file in your downloads folder on your local computer

      product

  2. Absentees export

    • Open the form for entering a date by clicking on the "Absent Students" button on the sidenav

    • You can select a particular date to find out the people who were absent on that day along with the class name which they didnt attend. If there was a mass bunk it will be displayed as "Mass Bunk".

      product

    • After selecting the date you can view the absentees

      product

    • You can export the absentees to xlsx file and download it on your local computer by clicking on the "Download XlS File"

      product

Connect Android Device Camera:

Setup :
Step 1 : Install "IP Webcam" APP from playstore
Step 2 (optional) : Go to Video preferences and select Main Camera as Front camera

To Run : (Both Devices should be connected to same Network)
Step 1 : Click on Start server
Step 2 : Get the IPv4 address(shown on android screen). eg- 127.123.0.105:8000
Step 3 : Enter the addess in "Connect Android" Input Field.
Step 4 : Click Take Attendance

product

Star Us : Footer

product

License

Distributed under the GPL - 3.0 License.

Contact the developers

Shreyas - [email protected]

Sakshi - [email protected]

Akshit - [email protected]

Acknowledgements

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].