attendance-system
attendance-system copied to clipboard
A simple, modern and scalable facial recognition based attendance system built with Python back-end & Angular front-end.
Attendance System using Face Recognition
A simple, modern and scalable facial recognition based attendance system built with Python back-end & Angular front-end.
Table of contents
- Prerequisites
- Installation
- Setup backend
- Setup frontend
- Usage
a. Using CLI
b. Using Web Interface
Prerequisites
- Windows or Linux (macOS not officially supported, but might work)
- Nvidia CUDA (optional - for nvidia gpus)
- CMake
- Visual Studio Build Tools
- Miniconda for Python v3.7+
- Node.js LTS v12.8.3+ (npm v6.14.6+)
- Angular CLI v10.1.2+
Installation
1. Setup backend
Install all dependencies using conda package manager
Note: This will install the dependencies listed in
environments.ymlfile
$ cd backend
$ conda env create -f environment.yml
Now you can activate this environment using the following command
Note: You can run the app only if this environment is activated
$ conda activate attendance-system
2. Setup frontend
Install all dependencies using npm package manager
Note: This will install the dependencies listed in
package.jsonfile
$ cd frontend
$ npm install
Usage
A. Using CLI
Follow these steps to run the app in command line interface mode
- Activate the
attendance-systemconda environment - Launch
run_cli.pyfrom the backend directory
$ cd backend
$ conda activate attendance-system
$ python run_cli.py
B. Using Web Interface
Start the Flask Web Server
- Rename
.env.examplefile to.env - Activate the
attendance-systemconda environment - Launch
run.pyfrom the backend directory
Note: This will start a flask web server listening on
http://localhost:5000
$ cd backend
$ conda activate attendance-system
$ python run.py
Launch the Angular Web Application
Note: This will launch angular web app in browser @
http://localhost:4200
$ cd frontend
$ ng serve -o
🤝 Contributing
Contributions, issues and feature requests are welcome!
Feel free to check issues page.
Show your support
Give a ⭐️ if this project helped you!