Skip to content

PhotoGallery Backend API is a Flask-based application for managing and syncing photos with geotagging, face detection, and EXIF metadata extraction. It uses SQL Server and Flask-SQLAlchemy to store and serve JSON data, enabling seamless integration with a Mobile and Windows interface.

License

Notifications You must be signed in to change notification settings

shafiamanzoor762/photo-gallery-geotagging

Repository files navigation

📸 PhotoGallery Backend API

Python Flask SQL Server License: MIT Platform

PhotoGallery Backend API is a Flask-based application for managing and syncing photos with geotagging, face detection, face recognition (using face_recognition model), 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.


🚀 Features

  • 🔍 Face Detection & Recognition using the face_recognition library
  • 🗺️ 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)

📁 Project Structure

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

🛠️ Getting Started

✅ Prerequisites

  • Python 3.10+
  • Flask
  • SQL Server
  • face_recognition library
  • Flask-SQLAlchemy
  • Pillow, exifread, and other dependencies

📦 Installation

  1. Clone the repository:
git clone https://github.com/shafiamanzoor762/photo-gallery-geotagging.git
cd photo-gallery-geotagging
  1. Create and activate a virtual environment:
python -m venv venv
venv\Scripts\activate.bat   # In cmd.exe
venv\Scripts\Activate.ps1   # In PowerShell
  1. Install dependencies:
pip install -r requirements.txt
  1. Configure your SQL Server database URI in config.py.

▶️ Running the Application

python router.py

The API server will start on http://127.0.0.1:5000 or http://0.0.0.0:5000.


📌 Example API Endpoints

  • See requests_methods.txt for details about endpoints.

🧠 Technologies Used

  • Flask — Python microframework
  • face_recognition — Face detection & recognition
  • SQL Server — Database management
  • Flask-SQLAlchemy — ORM for SQL Server
  • EXIF & Pillow — Metadata handling

🔐 License

This project is licensed under the MIT License. See the LICENSE file for details.


📚 Resources


✨ Acknowledgements

Thanks to the developers and open-source communities behind face_recognition, Flask, and EXIF tools that made this project possible.

👥 Team Info

Members:

Feel free to connect with us on GitHub or reach out for collaboration!

About

PhotoGallery Backend API is a Flask-based application for managing and syncing photos with geotagging, face detection, and EXIF metadata extraction. It uses SQL Server and Flask-SQLAlchemy to store and serve JSON data, enabling seamless integration with a Mobile and Windows interface.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages