2.1. В файле .env указать переменные DB_USER(имя пользователя PostgreSQL), DB_USER_PASSWORD(пароль пользователя PostgreSQL) и DB_NAME(название базы данных). Если необходимо: поменять DB_HOST и DB_PORT.
2.2.1. Запустить локальный(или нет, если были указаны другие значения переменных DB_HOST и DB_PORT в .env) сервер PostgreSQL.
2.2.2. Создать базу данных с названием "trading_platform"(или иным, если было указано другое значение переменной DB_NAME в .env).
2.3. Установить необходимые библиотеки. Это можно сделать командой pip install -r requirements.txt в корневой папке проекта.
2.4. В терминале написать команду python manage.py makemigrations trading_platform в корневой папке проекта.
2.5. В терминале написать команду python manage.py migrate trading_platform в корневой папке проекта.
2.6. В терминале написать команду python manage.py runserver в корневой папке проекта.
2.7. Делать запросы, например из Postman :). Начать можно с http://127.0.0.1:8000/api/init_db, чтобы заполнить базу данных тестовыми значениями.
3.1. DELETE /api/drop - удалить все записи trades.
3.2. POST /api/insert - добавить запись в trades. Необходимое тело запроса: {"type": *sell или buy*, "symbol": *имя символа*, "price": *стоимость*, "user": *id пользователя*}.
3.3. GET /api/trades?user=id - получить все записи trades. Можно опционально указать переменную user(id пользователя) и получить записи trades только одного пользователя.
3.4. GET /api/stock/{symbol}/price?start=date1&end=date2 - получить максимальную и минимальную цену с определенным параметром symbol. Можно опционально указать переменные start и end(даты в формате YYYY-MM-DD) и получить максимальную и минимальную цену за определенный временной промежуток(можно указать только одну из двух переменных).
3.5. GET /api/init_db - заполнить базу данных тестовыми простыми значениями. Чисто техническая функция, чтобы не заполнять базу данных вручную :)
Далее приведены пункты, которые я намеренно изменил/добавил:4.1. Ограничил длину symbol 4 символами.
4.2. Объединил 3 и 4 функции. Чтобы получить записи определенного пользователя, нужно указать значение опциональной переменной user.
4.3. В 5 функции указание временного промежутка сделал опциональным.
4.4. Добавил функцию для заполнения базы данных тестовыми значениями.
Постарался накидать документацию к API в swagger.io https://app.swaggerhub.com/apis-docs/nik.rotay/backend_task/1.0.0#P.S. /api/init_db намеренно туда не внёс.