Skip to content

Latest commit

 

History

History
83 lines (64 loc) · 5.22 KB

File metadata and controls

83 lines (64 loc) · 5.22 KB

CareerNavigatorAI

Немного о проекте.

Наш проект - веб-приложение "CareerNavigatorAI". Его главная функция - определение профессии абитуриента/школьника с помощью тестирования. Для него написан RestAPI на языке программирования Go с использованием фреймворка Echo. В этом приложении пользователи могут регистрироваться, проходить тесты.

Базовые модели проекта.

Более подробно с базовыми моделями можно ознакомиться в спецификации API.

Схема базы данных.

Более подробно со схемой базы данных можно ознакомиться в схеме базы данных. схеме базы данных

Схема взаимодействия приложения.

Более подробно со схемой взаимодействия приложения можно ознакомиться в схеме взаимодействия. схеме взаимодействия

Начало работы.

  1. Склонируйте репозиторий в любую подходящую директорию на вашем компьютере.
    git clone https://github.com/Grbisba/hack-backend.git
    cd hack-backend
  2. Создайте директорию env в корне проекта.
    mkdir env
  3. Опишите необходимые переменные окружения в следующих файлах.
    • minio.env - для запуска minio в docker контейнере.
    • postgres.env - для запуска postgres в docker контейнере.
    • server.env - для запуска server в docker контейнере.
  4. Для запуска сервера необходим конфигурационный файл config.json.
  5. Для корректной работы сервиса необходим файл с тестами test.yaml.
  6. Используйте для запуска docker демона:
    service docker run
  7. Используйте для запуска и сборки docker контейнера:
    sudo docker compose up --build -d
    или
    docker compose up --build -d
    или
    make dock/run

Makefile инструкции.

  • Команда make help запускает краткое описание makefile.
  • Команда make build создает/обновляет бинарный файл для запуска проекта.
  • Команда key-gen создает директорию и два ключа в ней. Используется для аутентификации в сервисе.
  • Команда lines возвращает общее количество строк в коде проекта.
  • Команда dock/run собирает и запускает docker контейнер.

Программы, использованные в процессе написания API.

  • Docker - программное обеспечение для автоматизации развёртывания и управления приложениями в средах с поддержкой контейнеризации, контейнеризатор приложений.
  • PostgreSQL — свободная объектно-реляционная система управления базами данных (СУБД).
  • Minio - лёгкое, высокоэффективное распределённое объектное хранилище с открытым исходным кодом.

Пакеты, использованные в процессе написания API.

  • github.com/aws/aws-sdk-go-v2 aws-sdk - Драйвер для работы с S3.
  • github.com/golang-jwt/jwt jwt-go - Реализация jwt-токена.
  • github.com/google/uuid uuid - Реализация UUID-типа данных.
  • github.com/labstack/echo/v4 Echo - Фреймворк для написания API.
  • go.uber.org/zap zap - Реализация готового логирования.
  • github.com/jackc/pgx/v5/pgxpool pgx - Драйвер и набор инструментов для реализации postgresql.
  • github.com/heetch/confita confita - Реализация конфигурирования API.

Лицензия

Данный проект лицензирован под «MIT License». Ознакомится с лицензией можно в файле LICENSE.