PhotoGallery Backend API is a Flask-based application for managing and syncing photos with geotagging, face detection, face recognition (using
face_recognitionmodel), and EXIF metadata extraction. It leverages SQL Server and Flask-SQLAlchemy to store and serve data in JSON format, enabling seamless integration with both Mobile and Windows interfaces.
- 🔍 Face Detection & Recognition using the
face_recognitionlibrary - 🗺️ Geotagging support via EXIF metadata
- 🧠 EXIF Tag Parsing for date, location, and device metadata
- 🗂️ Smart Photo Grouping by person, location, and event
- ⚙️ API-Driven Architecture with Flask
- 🗃️ SQL Server for scalable and structured data storage
- 🔁 Photo Sync between local systems and apps (Mobile/Desktop)
photo-gallery-geotagging/
│
├── Model/
├── Controller/
├── stored-faces/
├── Database_Scripts/
├── config.py
├── request_methods.txt
├── router.py
├── directory.env
├── requirements.txt
├── haarcascade_frontalface_default.xml
└── README.md- Python 3.10+
- Flask
- SQL Server
face_recognitionlibraryFlask-SQLAlchemyPillow,exifread, and other dependencies
- Clone the repository:
git clone https://github.com/shafiamanzoor762/photo-gallery-geotagging.git
cd photo-gallery-geotagging- Create and activate a virtual environment:
python -m venv venv
venv\Scripts\activate.bat # In cmd.exe
venv\Scripts\Activate.ps1 # In PowerShell- Install dependencies:
pip install -r requirements.txt- Configure your SQL Server database URI in
config.py.
python router.pyThe API server will start on http://127.0.0.1:5000 or http://0.0.0.0:5000.
- See requests_methods.txt for details about endpoints.
Flask— Python microframeworkface_recognition— Face detection & recognitionSQL Server— Database managementFlask-SQLAlchemy— ORM for SQL ServerEXIF&Pillow— Metadata handling
This project is licensed under the MIT License. See the LICENSE file for details.
Thanks to the developers and open-source communities behind face_recognition, Flask, and EXIF tools that made this project possible.