Skip to content

A platform where teachers can automatically update the attendance by just uploading the photographs of classrooms.

Notifications You must be signed in to change notification settings

Sneha-511/auto-attendance-tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

Automatic Attendance Tracker

A platform where teachers can automatically update the attendance by just uploading the photographs of classrooms.


Table of Contents 📑

Live Website

Email: snehavinayaka511@gmail.com
Password: password1

API Documentation

User Functions

After logging in, the user can:

  • create a new classroom
  • edit details of an exising classroom
  • delete an existing classroom
  • add student to a classroom
  • edit details of a student
  • remove student from a classroom
  • update attendance of a class by uploading its image
  • view attendance of a classroom
  • download attendance of a classroom in Excel format
  • delete attendance of a particular class
  • change his/her password
  • manage images uploaded by him/her

Features

  • NoSQL database: MongoDB object data modeling using Mongoose
  • Image uploading using cloudinary
  • Authentication and authorization: using passport
  • Validation: request data validation using Joi
  • Logging: using winston and morgan
  • Testing: unit and integration tests using Jest
  • Error handling: centralized error handling mechanism
  • API documentation: with swagger-jsdoc and swagger-ui-express
  • Process management: advanced production process management using PM2
  • Dependency management: with Yarn
  • Environment variables: using dotenv and cross-env
  • Security: set security HTTP headers using helmet
  • Santizing: sanitize request data against xss and query injection
  • CORS: Cross-Origin Resource-Sharing enabled using cors
  • Compression: gzip compression with compression
  • CI: continuous integration with Travis CI
  • Docker support
  • Code coverage: using coveralls
  • Code quality: with Codacy
  • Git hooks: with husky and lint-staged
  • Linting: with ESLint and Prettier
  • Editor config: consistent editor configuration using EditorConfig

Steps to run the application locally

Pre Requisite

Ensure that you have Node version >= 16.13.2

Clone the repo

git clone https://github.com/Sneha-511/auto-attendance-tracker

Setting up the server

To setup the server locally, follow these steps:

  1. Install the dependencies:
cd auto-attendance-tracker/server
yarn install
  1. Set the environment variables:
cp .env.example .env

# open .env and modify the environment variables (if needed)
  1. Start the server:
yarn start

Setting up the client

To setup the client locally, follow these steps:

  1. Install the dependencies:
cd auto-attendance-tracker/client
npm install
  1. Start the client:
npm start

Tech Stack Used

The MERN Stack

  • MongoDB - Document database - to store data
  • Express.js - Back-end web application framework running on top of Node.js
  • React - Front-end web app framework used
  • Node.js - JavaScript runtime environment

Middleware

  • Redux - For flux architecture, and fetching rapidly data
  • Mongoose - ODM for MongoDB

About

A platform where teachers can automatically update the attendance by just uploading the photographs of classrooms.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages