- Install git on Linux:
sudo apt-get install -y git
- Clone or download this repo.
- Install pip and vitualenv on Linux:
sudo apt-get install -y virtualenv
sudo apt-get install -y python3-pip
- Create a virtual environment on Linux or Mac:
virtualenv -p python3 ~/.virtualenvs/petstore
- Activate the virtual environment on Linux or Mac:
source ~/.virtualenvs/petstore/bin/activate
- Install requirements in the virtualenv:
pip3 install -r requirements.txt
-
Install components for Ubuntu:
sudo apt-get update
sudo apt-get install python-dev libpq-dev postgresql postgresql-contrib
-
Switch to postgres (PostgreSQL administrative user):
sudo su postgres
-
Log into a Postgres session:
psql
-
Create database with name petstore:
CREATE DATABASE petstore;
-
Create a database user which we will use to connect to the database:
CREATE USER petstore_user WITH PASSWORD 'petstore_pass';
-
Modify a few of the connection parameters for the user we just created:
ALTER ROLE petstore_user SET client_encoding TO 'utf8';
ALTER ROLE petstore_user SET default_transaction_isolation TO 'read committed';
ALTER ROLE petstore_user SET timezone TO 'UTC';
-
Give our database user access rights to the database we created:
GRANT ALL PRIVILEGES ON DATABASE petstore TO petstore_user;
-
Exit the SQL prompt and the postgres user's shell session:
\q
thenexit
-
Activate the virtual environment:
source ~/.virtualenvs/petstore/bin/activate
-
Make Django database migrations:
python manage.py makemigrations
then:python manage.py migrate
-
Register
- Method: POST
- URL:
/auth/
-
Login:
- Method: POST
/auth/login/
-
You need to add a pet from the admin panel to be able to place a bid on it
-
Admin Panel URL:
/admin/
- username:
thomas
- password:
123
-
Add bid on pet
- Method: POST
/pets/{pet_id}/bid/
-
GET all bids on pet
- Method: GET
/pets/{pet_id}/bids/
- Script to calculate the amount to be paid by the winner and the losing bidders
-
to run the calculation function and see the result
python challenge_2/execution.py
-
to run tests
python challenge_2/tests.py
- username:
thomas3
- password:
123456tom