Skip to content

V1cimus/advertising_service

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

advertising_service

Сервис для публикации объявлений сделанный в качестве тестового задания на вакансию Python Разработчика.

Стек

  • Python 3.11
  • FastAPI
  • SQLAlchemy
  • Alembic

Запуск проекта

Создайте файл .env в директории /src согласно .env.example.

Локальный запуск.

Создайте окружение.

py -3.11 -m venv venv

Запустите окружение.

source venv/Scripts/activate

И установите необходимые библиотеки.

pip install -r requirements.txt

Необходимо перейти в директорию src и выполнить main.py файл.

cd src/
python main.py

main.py принимает несколько параметров: --port --host.

python main.py --host 0.0.0.0 --port 8080

Проект запущен (стандартный ip http://127.0.0.1:8000)

Так же main.py принимает команду create_superuser, для создания в БД юзера с правами администратора.

python main.py create_superuser

Данный запуск требует настройку PostgreSQL

Запуск в Docker контейнерах.

Перейдите в директорию /infra и запустите контейнеры при помощи команды

docker-compose up -d # Для win
sudo docker-compose up -d # Для linux

Проект запущен и доступен по http://127.0.0.1:80 или http://localhost:80.

Выполнение миграций

Для того, чтобы миграции были применены необходимо выполнить команду

alembic upgrade ccfaf60db433 # локальный запуск из src
docker-compose exec -T backend alembic upgrade ccfaf60db433 # контейнер win
sudo docker-compose exec -T backend alembic upgrade ccfaf60db433 # контейнер linux

Документация

Документация находить в директории docs в формате OpenAPI

Если проект запущен доступна динамическая swagger документация по:

Автор Воложанин Пётр

About

backend for test from surfit

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published