A platform where teachers can automatically update the attendance by just uploading the photographs of classrooms.
- Live Website
- API Documentation
- User Functions
- Features
- Steps to run the application locally
- Tech Stack Used
- The website is deployed at https://auto-attendance-tracker.herokuapp.com/
- You can register a new account or login with the following credentials:
Email: snehavinayaka511@gmail.com
Password: password1
- The API documentation can be viewed at https://auto-attendance-tracker-api.herokuapp.com/v1/prod-docs
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
- 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
Ensure that you have Node version >= 16.13.2
git clone https://github.com/Sneha-511/auto-attendance-tracker
To setup the server locally, follow these steps:
- Install the dependencies:
cd auto-attendance-tracker/server
yarn install
- Set the environment variables:
cp .env.example .env
# open .env and modify the environment variables (if needed)
- Start the server:
yarn start
To setup the client locally, follow these steps:
- Install the dependencies:
cd auto-attendance-tracker/client
npm install
- Start the client:
npm start
- 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