This biometric attendance system is a time and attendance tracking system that allows staff or teachers to organize courses, manage students and mark students' attendance using their most unique physical characteristics—their fingerprints. It's built with computer vision (Python OpenCV), Flask and the MERN stack.
NB: This system has been built and tested with The DigitalPersona U.are.U 4500 scanner only. It only supports Windows OS for now.
Below is an image of a DigitalPersona U.are.U 4500 scanner
Download and install the client for windows here: HID DigitalPersona Client
The project is divided into three sections:
client
(frontend)server
(core backend)server-py
(matching backend)
Follow the steps below to set up the project locally
- Clone repo:
[HTTPS] - git clone git@github.com:IamGideonIdoko/bio-attendance-sys.git
[SSH] - git clone https://github.com/IamGideonIdoko/bio-attendance-sys.git
- Install
client
dependencies:
make client-deps
- Install
server
dependencies:
make server-deps
-
Install
server-py
dependenciesi. Create a conda environment
make conda-env
ii. Activate created conda environment
conda activate bas_env
iii. Install dependencies
make match-server-deps
-
Create a MySQL database (eg.
bioattendancesysdb
) -
Set up
.env
inserver
and update with neccessary details
make core-server-env
- Run DB migration
make dev-migrate
- Run DB migration
make dev-migrate
- In a new terminal, start
server
make core-server
- In a conda activated
bas_env
environment terminal, startserver-py
make match-server
- In a new terminal, start
client
make client-server
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE
for more information.
Gideon Idoko - @IamGideonIdoko - iamgideonidoko@gmail.com