GoodReads App Project
The goal of the project is to design and implement the APIs of a website where users can access the books they read, Record their points and comments (simplified version of GoodReads).
- Features
- Requirements
- Installation
- Running the Project
- API Documentation
- Postman Collection
- Admin Panel SCREEN
- Register and login
- Get list of books
- Get Details of books
- Comment and rate to each book
- Bookmark books
- Docker
- Docker Compose
-
Clone the repository:
git clone git@github.com:arezoo88/GoodReads.git cd source
-
Create a
.envfile:touch .env in source folder
Add the content of .env-sample into your
.envfile in source folder: -
Build and start the Docker containers:
docker-compose up --build
-
Load data for testing project:
docker-compose exec web bash -c "cd /home/app/source && python manage.py initdata && python manage.py loaddata apps/book/fixtures/books.json && python manage.py loaddata apps/book/fixtures/ratingcomments.json"
-
Create superuser:
docker-compose exec web bash -c "cd /home/app/source && python manage.py createsuperuser"
-
Start the Docker containers:
docker-compose up -d
-
Access the application:
- Swagger UI:
http://127.0.0.1:8000/swagger/ - Admin:
http://127.0.0.1:8000/admin/
- Swagger UI:
Access the Swagger UI at http://127.0.0.1:8000/swagger/ for interactive API documentation.
help : You can run login api in swagger then copy access token and paste in Authorize part . (now you are authorized!)
