Skip to content

integer-class/PrecisePresence

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PrecisePresence

PrecisePresence is a face recognition-based attendance application combining advanced machine learning and robust data management to simplify attendance tracking.


Key Features

  • 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.

Technologies Used

Machine Learning Backend

  • 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.

Admin and Data Management Backend

  • Laravel 11: For managing user data, attendance records, and roles.

Frontend

  • Flutter: Cross-platform framework for mobile applications (iOS/Android).

Installation and Usage

Machine Learning Backend (FastAPI)

  1. Clone Repository

    git clone https://github.com/username/precisepresence.git
    cd precisepresence/machine_learning
  2. Install Dependencies
    Ensure Python and pip are installed.

    pip install -r requirements.txt
  3. Set Up MySQL Database
    Create a MySQL database and update the connection details in get_db_connection() inside the FastAPI code.

  4. Run FastAPI Server

    uvicorn main:app --host 0.0.0.0 --port 8000 --reload
  5. Test Endpoints

    • Register Face: POST /register_face/
    • Match Face: POST /face_match/

Admin and Data Management Backend (Laravel 11)

  1. 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
  2. Environment Setup
    Copy .env.example to .env and configure your database and other credentials.

  3. Run Laravel Server

    php artisan serve
  4. Access Dashboard
    The admin dashboard is available at http://localhost:8000/dashboard.


Frontend (Flutter)

  1. Clone Repository

    git clone https://github.com/username/precisepresence.git
    cd precisepresence/precisepresence
  2. Install Dependencies
    Ensure Flutter is installed.

    flutter pub get
  3. Run Application

    flutter run

API Endpoints

Machine Learning Backend (FastAPI)

Method Endpoint Description
POST /register_face/ Register a face for a user.
POST /face_match/ Match a face for attendance.

Admin Backend (Laravel)

Method Endpoint Description
GET /users View the list of users.
POST /users Add a new user.
DELETE /users/{id} Delete a user.

Project Structure

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  

Contribution

We welcome contributions! Please follow these steps:

  1. Fork this repository.
  2. Create a new feature branch: git checkout -b your-feature.
  3. Commit your changes: git commit -m 'Add your feature'.
  4. Push to the branch: git push origin your-feature.
  5. Create a pull request.

Image 1 Image 2 Image 3
Image 4 Image 5 Image 6

Releases

No releases published

Packages

No packages published

Contributors 5