README.md

Проект для заметок

Описание

Написаны два сервиса:

  • backend-fastapi - соответственно бэк
  • my-notes-app-front - фронтенд на vue3ts

Плюс ещё используется postgresql для сохранения базы заметок

Настройка локальной разработки

  • Настроить сеть=) а то я забыль
  • Склонировать проект
  • Установить зависимости
  • открыть через nvim и сразу пользовать автокомплитом и проверками так как сервера нужные уже установлены

Настройка сети

sudo vim /etc/netplan/50-cloud-init.yaml

В файл надо вставить следующее содержимое (ну или дописать недостающее)

network:
  version: 2
  ethernets:
    enp0s3:
      dhcp4: true
    enp0s8:
      dhcp4: true
  • Запускаем команду sudo netplan apply
  • Запускаем ip a и ищем интерфейс enp0s8 и смотрим его ip должен быть формата 192.168.56.***

Сеть настроена, теперь можно достучаться до машины с локального компа

Поднимаем backend

Устанавливаем зависимости backend

cd services/backend-fastapi
poetry install

Проверка работы приложения

Сначала запустить надо базу, а то навернётся
# так запустится только один сервис db - postgres
docker compose -f docker-compose.yaml -f docker-compose.debug.yaml up db
# или чтобы запустить в фоне
docker compose -f docker-compose.yaml -f docker-compose.debug.yaml up db -d
Запускаем приложение
cd services/backend-fastapi
poetry shell # активация виртуального окружения
uvicorn src.main:app --reload --host 0.0.0.0 --port 5000
curl localhost:5000 # должен вывести not found
Проверяем в браузере

В браузере на локалке вводим: http://192.168.56.***:5000

Осторожно! ip может быть другой

А чтобы по красоте http://192.168.56.***:5000/docs, наслаждаемся

Поднимаем фронт

Устанавливаем зависимости npm frontend

cd services/my-notes-app-front
npm install

Запускаем фронтенд

Предварительно можно запустить бэк, чтобы они заработали вместе, но не обязательно

npm run dev -- --host=0.0.0.0

Выведет по какому порту приложение поднимется curl <эта url>

Проверяем в браузере

В браузере на локалке вводим: http://192.168.56.***:<порт, который vite выведет>

Команды запуска проекта

Для того, чтобы пересобрать контейнеры добавляем флаг --build

В режиме разработки

docker compose -f docker-compose.yaml -f docker-compose.debug.yaml up

В этом режиме можно редактировать код сервисов пока работают контейнеры и изменения сразу отобразятся на работающем проекте

В режиме production (боевом)

docker compose -f docker-compose.yaml up

Эту сборку можно уже перемещать на рабочий сервер и запускать её оттуда лишние порты прикрыты, настроены маршруты для перенаправления запросов

Конвейеры
0 успешных
0 с ошибкой