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 с ошибкой