Skip to content

nightman19/face-match-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🧑‍💼 Face Match App

Python Version Flask License Status


📸 Overview

Face Match App is a lightweight Flask web application that allows users to upload an ID card and a selfie to verify identity.

It works by comparing the two images using the face_recognition library, which calculates 128-dimensional face embeddings and measures the Euclidean distance between them to determine a match.

All verification results are stored locally in a SQLite database and displayed in a clean, Bootstrap-powered dashboard with filtering options.


✨ Features

  • 📤 Upload ID card and selfie for comparison
  • 🧠 Facial recognition using the face_recognition library
  • 📊 Dashboard with history, filtering, and pagination
  • 🗃️ SQLite for local data persistence
  • 🧹 Session-based clearing of results to maintain privacy
  • 💻 Clean, responsive UI built with Bootstrap 5

⚙️ Installation & Setup

To get the application up and running locally, follow these steps:

# Clone the repository
git clone [https://github.com/yourusername/face-match-app.git](https://github.com/yourusername/face-match-app.git)
cd face-match-app

# Create and activate a virtual environment
python3 -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

# Run the Flask app
flask --app app.py run

# 🌐 Open your browser and navigate to: [http://127.0.0.1:5000/](http://127.0.0.1:5000/)

📂 Project Structure

This is an overview of the key files and directories:

face-match-app/
├── app/
│   ├── routes.py         # Handles web requests and core logic
│   ├── models.py         # Defines the database structure (SQLite)
│   ├── templates/
│   │   ├── index.html    # The main upload page
│       └── dashboard.html# The history and results page
│   └── static/
│       └── uploads/      # 📂 Stores temporary uploaded ID/selfie images
├── requirements.txt      # List of project dependencies
├── app.py                # The main Flask application entry point
└── README.md

🧩 Tech Stack

Layer Technology Description
Backend Flask (Python) Lightweight web framework for the core application.
Face Recognition face_recognition Library used for face detection and feature comparison.
Database SQLite Serverless, file-based database for storing verification history.
Frontend Bootstrap 5 Used for a clean, responsive, and modern user interface.
Language Python 3.10+ The core programming language.

🚀 Future Improvements

  • 🔐 Implement User Authentication for restricted access.
  • ☁️ Integrate Cloud Storage (e.g., S3) for persistent image storage.
  • 🧱 Add Docker support for easy containerized deployment.
  • 🧾 Create REST API endpoints for external system integrations.

👨‍💻 Author

Nuru Mohammed


📜 License

This project is licensed under the MIT License — you’re free to use, modify, and distribute it.


“Not every web app needs Django. Sometimes, Flask + clean architecture does the job beautifully.”

About

Flask app that compares an ID photo and a selfie using face_recognition, logs results in SQLite, and displays insights on a clean dashboard.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages