FavouriteMistake is a web platform designed to facilitate the reporting, search, and recovery of lost and found property around campus. The platform leverages image recognition technology to match lost and found items, making it easier for users to recover their belongings.
Try it here: DEMO
- username:
kdn - password:
290x290x
Please wait for the project to spin up.
- User Registration and Authentication: Users can sign up, log in, and manage their profiles.
- Report Lost Items: Users can report lost items by providing details and uploading images.
- Report Found Items: Users can report found items by providing details and uploading images.
- Automated Matching: The platform uses Google Cloud Vision API to analyze images and match lost items with found items.
- Email Notifications: Users receive email notifications when a potential match is found for their reported lost items.
- Admin Interface: Admins can manage users, items, and matches through the Django admin interface.
- Backend: Django, Django REST Framework
- Frontend: HTML, CSS, JavaScript
- Database: PostgreSQL
- Image Recognition: Google Cloud Vision API
- Email Service: SMTP (Gmail)
- Deployment: WSGI, ASGI
-
Clone the repository:
git clone https://github.com/TaffCodes/FavouriteMistake.git cd FavouriteMistake -
Create and activate a virtual environment:
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
-
Install dependencies:
pip install -r requirements.txt
-
Set up environment variables: Create a .env file in the project root and add the following:
DB_NAME=your_db_name DB_USER=your_db_user DB_PASSWORD=your_db_password DB_HOST=localhost DB_PORT=5432 SERVICE_KEY=path_to_your_google_cloud_service_key.json EMAIL_HOST_USER=your_email@example.com EMAIL_HOST_PASSWORD=your_email_password DEFAULT_FROM_EMAIL=your_email@example.com BASE_URL=http://127.0.0.1:8000
-
Apply database migrations:
python manage.py migrate
-
Create a superuser:
python manage.py createsuperuser
-
Run the development server:
python manage.py runserver
- Sign Up: Create an account on the platform.
- Report Lost Items: Navigate to the "Report Lost" page and fill in the details of the lost item.
- Report Found Items: Navigate to the "Report Found" page and fill in the details of the found item.
- Dashboard: View potential matches for your reported items on the dashboard.
- Admin Interface: Access the admin interface at
/adminto manage users, items, and matches.
Contributions are welcome! Please follow these steps to contribute:
- Fork the repository.
- Create a new branch (
git checkout -b feature/your-feature). - Commit your changes (git commit -m 'Add some feature').
- Push to the branch (
git push origin feature/your-feature). - Open a pull request.
For any inquiries or support, please contact me.