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

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

- Склонируйте репозиторий в любую подходящую директорию на вашем компьютере.
git clone https://github.com/Grbisba/hack-backend.git cd hack-backend - Создайте директорию env в корне проекта.
mkdir env
- Опишите необходимые переменные окружения в следующих файлах.
- minio.env - для запуска minio в docker контейнере.
- postgres.env - для запуска postgres в docker контейнере.
- server.env - для запуска server в docker контейнере.
- Для запуска сервера необходим конфигурационный файл
config.json. - Для корректной работы сервиса необходим файл с тестами
test.yaml. - Используйте для запуска docker демона:
service docker run
- Используйте для запуска и сборки docker контейнера:
или
sudo docker compose up --build -d
илиdocker compose up --build -d
make dock/run
- Команда
make helpзапускает краткое описание makefile. - Команда
make buildсоздает/обновляет бинарный файл для запуска проекта. - Команда
key-genсоздает директорию и два ключа в ней. Используется для аутентификации в сервисе. - Команда
linesвозвращает общее количество строк в коде проекта. - Команда
dock/runсобирает и запускает docker контейнер.
- Docker - программное обеспечение для автоматизации развёртывания и управления приложениями в средах с поддержкой контейнеризации, контейнеризатор приложений.
- PostgreSQL — свободная объектно-реляционная система управления базами данных (СУБД).
- Minio - лёгкое, высокоэффективное распределённое объектное хранилище с открытым исходным кодом.
- 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.