The members of the team are:
- Maksym Byelko
- Ayan Mamun
- Tunjay Seyidali
- Amir Guliyev
The project is called Recipi.
The deployed version of the application can be found here: amirrza777.pythonanywhere.com
To access admin panel at amirrza777.pythonanywhere.com/admin , you can use log-in details below:
username: admin password: admin
To acces one user with random credentials, you can use log-in details below:
username = demo123 email = demo@example.com password = strong-pass-123
To install the software and use it in your local development environment, you must first set up and activate a local development environment. The project source code has been developed using Python 3.14, so you are recommended to use the same version.
From the root of the project:
python3.14 -m venv venv
source venv/bin/activate # On Windows use: venv\Scripts\activateIf your system does not have python3.14 installed, replace python3.14 with python3 or python, provided it is a compatible version.
pip3 install -r requirements.txtThis project requires a Firebase credentials file to function correctly.
Download the firebase-service-account.json file with the link provided below and insert it into the project folder:
https://drive.google.com/file/d/1fGG9TzHvjuwnhQcZMxo3Z3FPEWhR7ySM/view?usp=sharing
This project requires a .env file in the root directory (same level as manage.py) to handle configuration and secrets.
Download a file named .env using the link below (don't forget to change path to the firebase-service-account.json file to your local path):
https://drive.google.com/file/d/16rPEIwZ_0FrhqSk1wZ0VFP3Ahpru8uov/view?usp=sharing
Migrate the database schema:
python3 manage.py migrateSeed the development database with initial data:
python3 manage.py seedOptional: if you later want to remove the seeded sample data (non-staff users, etc.), run python3 manage.py unseed.
To access the admin panel and configure social authentication, create a superuser account:
python3 manage.py createsuperuserFollow the prompts to set a username, email, and password.
Start the local development server:
python3 manage.py runserverYou can now access the application at:
http://127.0.0.1:8000/
To make Google Login work locally, you must configure the Django Admin panel to match your settings.
- Navigate to:
http://127.0.0.1:8000/admin/
- Log in with the superuser credentials you created in Step 6.
- Under the Sites section, click Sites.
- There should be an entry for your local domain (e.g.,
127.0.0.1:8000orlocalhost:8000).- If it lists
example.com, click it and change both Domain name and Display name to127.0.0.1:8000.
- If it lists
- Important: Note the ID of this site object in the URL
- Example:
/admin/sites/site/2/change/means the ID is2.
- Example:
- Open
recipify/settings.pyand ensure theSITE_IDvariable matches this number.- Example:
SITE_ID = 2
- Example:
- Return to the Admin home.
- Under Social Accounts, click Social applications.
- Click Add social application (top right).
- Fill in:
- Provider: Google
- Name: Recipify
- Client id: the
GOOGLE_CLIENT_IDfrom.env - Secret key: the
GOOGLE_CLIENT_SECRETfrom.env
- Under Sites:
- In “Available sites”, select your site (e.g.,
127.0.0.1:8000) - Click the arrow to move it to “Chosen sites”
- In “Available sites”, select your site (e.g.,
- Click Save.
Before starting testing make sure to install npm in repository root (used for JS testing) using this command:
npm installRun all tests with:
npm test -- --coverage && python -m coverage run manage.py test && python -m coverage reportThe packages used by this application are specified in requirements.txt. Key technologies and assets include:
- Django Framework: Backend web framework
- Firebase Admin SDK: Used for authentication and backend services
- Bootstrap 5: Frontend framework for responsive design
- Bootstrap Icons: Icon library
- Google Fonts: "Rethink Sans" font family
- Local Assets: Custom font ("Awesome Serif") located in the
staticdirectory