This repository contains the backend code for the Alzheimer's and elderly care application 🧓👵, which provides API endpoints for various features like reminders, face recognition, object detection, and location tracking. The backend is built using Flask and integrates with MongoDB for data storage.
- 📌 Endpoints for creating, updating, retrieving, and deleting reminders.
⚠️ Reminders are tagged as urgent or important based on user input.
- 👤 Built using the
face_recognition
Python library to help identify familiar faces. - 📥 Processes images and returns the recognition results via the API.
- 🤖 Powered by a YOLO (You Only Look Once) model for object detection.
- 🏷️ Identifies and labels objects from images provided by the user.
- 📍 Provides endpoints to track and update the user's location, which can be shared with caregivers.
- 🚀 Flask: Web framework for creating the RESTful API.
- 🗄️ MongoDB: Database for storing user data, reminders, and other information.
- 🧑🤝🧑 face_recognition: Python library used for implementing face recognition features.
- 📷 YOLO Model: Used for object detection, recognizing multiple objects in images.
- 🐍 Python 3.x
- 🧪 Flask
- 🗄️ MongoDB
- 🧑🤝🧑 face_recognition
- 🔍 YOLO Model setup for object detection
-
Clone the repository:
git clone https://github.com/RaY8118/LUMI-Backend.git cd LUMI-Backend
-
Set up a virtual environment and activate it:
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
-
Install the required dependencies:
pip install -r requirements.txt
-
Configure your MongoDB connection and any necessary environment variables in the
.env
file. -
Run the Flask development server:
python3 run.py
- GET /reminders: Fetch all reminders
- POST /reminders: Create a new reminder
- PUT /reminders/:id: Update an existing reminder
- DELETE /reminders/:id: Delete a reminder
- POST /recognize-face: Upload an image for face recognition
- POST /detect-object: Upload an image for object detection using YOLO
- POST /location: Update or track the user's current location
You'll need to download and set up the YOLO model weights and configuration for object detection. Refer to the official YOLO documentation for setup instructions.
- Fork the project
- Create your feature branch (
git checkout -b feature/YourFeature
) - Commit your changes (
git commit -m 'Add some YourFeature'
) - Push to the branch (
git push origin feature/YourFeature
) - Open a pull request
This project is licensed under the MIT License - see the LICENSE file for details.