Table of Contents
- Adding your valuable reviews to each work (book, film, song, etc.).
- Selecting a work to review from one of the categories or genres.
- Adding a score from 1 to 10 to each work and getting the average score for all reviews.
- Adding your comments to reviews of other users.
- python 3.9.19
- pip
- Clone the repo
$ git clone https://github.com/Alexandr-Safariantc/reviews_api
- Activate virtual environment
$ cd reviews_api $ python3 -m venv venv
- for Linux/macOS
$ source .venv/bin/activate
- for windows
$ source .venv/scripts/activate
-
Upgrage pip
(venv) $ python3 -m pip install --upgrade pip
-
Install requirements
(venv) $ pip install -r requirements.txt
-
Migrate database
(venv) $ cd api_yamdb/ (venv) $ python3 manage.py migrate
-
Add test data to database
(venv) $ python3 manage.py import_csv
-
Run app
(venv) $ python3 manage.py runserver
-
Get API docs
http://127.0.0.1:8000/redoc/
ALLOWED_HOSTS
: {IP address of server you want to deploy},127.0.0.1,localhost,{your domane name if exists}
DEBUG_VALUE
: if not setted debug mode is off, not required
SECRET_DJANGO_KEY
: secret key for Django app
Category
Contains name, slug.
Genre
Contains name, slug.
Title
Contains category, description, genre, name, year.
GenreTitle
Linked model for Genre - Title relation.
Review
Contains author, pub_date, score, text, title.
Comment
Contains author, pub_date, review, text.
1. Year of title creation
We can't predict the future so only existing titles can be published in our feed.
2. One author - one review
We value the opinions of all reviews' authors equally so you can add only one review to each title.
3. Review score
Your review score must be integer number from 1 to 10.
4. Username 'me'
The username 'me' isn't the best choice, is it? This value is limited for our application.
Aleksandr Safariants - Backend-developer
- titles,
- users.
- registration, authentification system,
- permissions,
- token management,
- e-mail confirmation system.
Iakov Kuznetsov - Backend-developer
- categories,
- genres.
- categories,
- genres,
- reviews,
- comments.
- title scores,
- import from .csv files.
Konstantin Leontiev - Teamlead
- reviews,
- comments.
- project management,
- code review,
- import from .csv files.