PrecisePresence is a face recognition-based attendance application combining advanced machine learning and robust data management to simplify attendance tracking.
- Face Registration: Register faces with high accuracy using embeddings generated by MTCNN and InceptionResnetV1.
- Face Matching: Verify identities with face recognition to mark attendance.
- Admin Dashboard: Laravel-based interface for managing user and attendance data.
- Attendance History: View attendance records with a user-friendly UI.
- FastAPI: For serving APIs.
- MTCNN: For face detection.
- InceptionResnetV1: For face recognition embeddings.
- MySQL: For storing user embeddings and related data.
- PyTorch: For deep learning computations.
- Laravel 11: For managing user data, attendance records, and roles.
- Flutter: Cross-platform framework for mobile applications (iOS/Android).
-
Clone Repository
git clone https://github.com/username/precisepresence.git cd precisepresence/machine_learning -
Install Dependencies
Ensure Python and pip are installed.pip install -r requirements.txt
-
Set Up MySQL Database
Create a MySQL database and update the connection details inget_db_connection()inside the FastAPI code. -
Run FastAPI Server
uvicorn main:app --host 0.0.0.0 --port 8000 --reload
-
Test Endpoints
- Register Face:
POST /register_face/ - Match Face:
POST /face_match/
- Register Face:
-
Set Up Laravel
Follow the official Laravel installation guide and clone the repository for the Laravel backend:git clone https://github.com/username/precisepresence.git cd precisepresence/backend composer install -
Environment Setup
Copy.env.exampleto.envand configure your database and other credentials. -
Run Laravel Server
php artisan serve
-
Access Dashboard
The admin dashboard is available athttp://localhost:8000/dashboard.
-
Clone Repository
git clone https://github.com/username/precisepresence.git cd precisepresence/precisepresence -
Install Dependencies
Ensure Flutter is installed.flutter pub get
-
Run Application
flutter run
| Method | Endpoint | Description |
|---|---|---|
| POST | /register_face/ |
Register a face for a user. |
| POST | /face_match/ |
Match a face for attendance. |
| Method | Endpoint | Description |
|---|---|---|
| GET | /users |
View the list of users. |
| POST | /users |
Add a new user. |
| DELETE | /users/{id} |
Delete a user. |
PrecisePresence/
│
├── machine_learning/ # Machine learning backend (FastAPI)
│ ├── main.py # Entry point
│ ├── models/ # ML models (MTCNN, InceptionResnetV1)
│ ├── database/ # MySQL database connection and scripts
│ ├── requirements.txt # Python dependencies
│
├── backend/ # Admin dashboard backend (Laravel)
│ ├── app/ # Laravel application folder
│ ├── public/ # Public files for the web server
│ └── .env # Environment configuration
│
└── precisepresence/ # Mobile application (Flutter)
├── lib/ # Flutter code folder
├── assets/ # Images and other resources
└── pubspec.yaml # Flutter dependencies
We welcome contributions! Please follow these steps:
- Fork this repository.
- Create a new feature branch:
git checkout -b your-feature. - Commit your changes:
git commit -m 'Add your feature'. - Push to the branch:
git push origin your-feature. - Create a pull request.
![]() |
![]() |
![]() |
|---|
![]() |
![]() |
![]() |
|---|





