This project is an AI-powered photo-sharing platform that utilizes facial recognition technology to allow event attendees to access their pictures easily. Users can register, create events, and upload images. Guests can then retrieve their pictures by scanning their faces via a webcam. The system efficiently matches guest face embeddings with event images and displays the relevant photos.
- User authentication (registration & login)
- Create and manage multiple events
- Upload and store event images
- Face recognition-based image retrieval
- QR code Scanning
- Email verification for user registration
This project consists of three main components:
- Front-end (React.js) - The user interface for uploading and retrieving photos.
- Node.js Server - Handles user authentication, event management, and email notifications.
- Flask Server - Manages facial recognition and processing of face embeddings.
Ensure you have the following installed before proceeding:
- Node.js & npm
- Python (3.12.1 recommended)
- MongoDB
- Virtual Environment (
venv
)
MongoDB is used for storing user data, events, and face embeddings. Before running the servers, create a MongoDB database named photo_sharing_db
:
mongo
use photo_sharing_db
exit
Navigate to the front-end
folder and install dependencies:
cd front-end
npm install
npm start
Navigate to the node-server
folder, install dependencies, and configure environment variables:
cd node-server-1
npm install
Nodemailer Configuration:
Create a .env
file in the node-server
directory and add your email credentials:
EMAIL=your_email@example.com
EMAIL_PASS=your_email_password
Modify index.js
to use these credentials for sending OTPs and verification emails.
Run the server:
npm start
Navigate to the flask-server
folder, create a virtual environment, and install dependencies:
cd flask-server-2
python -m venv venv
source venv/bin/activate # On macOS/Linux
venv\Scripts\activate # On Windows
pip install -r requirements.txt
Run the server:
python app.py
- Register or log in to the platform.
- Create an event and upload photos.
- Share the event link or QR code with attendees.
- Attendees scan their faces to retrieve their pictures.
Feel free to fork this repository, create feature branches, and submit pull requests to improve the project.
This project is licensed under the MIT License.
For any issues or contributions, feel free to open an issue or reach out.