This is a Django web application for browsing and managing a collection of quotes and their respective authors. The application allows users to view quotes, search for quotes by tags, and view detailed information about authors. Registered users can add new authors and quotes to the database.
- User Authentication: Users can register and log in to the application. Only authenticated users can add new authors and quotes.
- Author Management: Users can view a list of authors and detailed information about each author.
- Quote Management: Users can view a list of quotes, and these can be filtered by tags.
- Add Quotes and Authors: Registered users can add new quotes and authors to the database.
- Tag-Based Search: Users can search for quotes based on specific tags.
- Pagination: The quotes list is paginated to enhance user experience and performance.
- Password Reset: If users have forgotten their account password, they can easily reset it by receiving an email.
- Changing the Avatar: Users can change the default account avatar on the corresponding page:
users/profile.
- Frontend: HTML, CSS
- Backend: Python, Django
- Database: PostgreSQL, MongoDB
-
Run Docker Engine via opening Docker Desktop.
-
Activate Virtual Environment:
poetry shell -
Fill the Database (MongoDB)
cd django_core python -m mongo.seeds -
Run Docker-Compose File (PostgreSQL DB Creation)
docker-compose -f docker-compose.yaml up --force-recreate -
Make the Tables in Database and fill Them
python manage.py makemigrations python manage.py migrate python -m mongo.migration -
Create an Admin User
python manage.py createsuperuser -
Run the Server
python manage.py runserver
- Visit
http://localhost:8000in your browser to access the application. - Register a new user account to add new authors and quotes.