Наш проект - веб-приложение "task-manager". Его главная функция - грамотное структурирование и распределние задач. Для него написан RestAPI на языке программирования Go с использованием фреймворка Echo. В этом приложении пользователи могут регистрироваться, создавать собственные проекты, в каждом проекте возможность создание колонок, а в них различных заданий. Прототипом приложения послужил канбан.
Более подробно с базовыми моделями можно ознакомиться в спецификации API.
- Склонируйте репозиторий в любую подходящую директорию на вашем компьютере.
- В корне репозитория выполните команду
go mod init <name>(где<name>— адрес вашего репозитория на GitHub без префиксаhttps://) для создания модуля. - Используйте
service docker runиsudo docker compose -f infra/postgres.yaml up -dдля "поднятия базы данных". - Используйте
make allдля запуска последовательно выполняющихся таргетов, которые описанны ниже.
- Комманда
makeзапускает краткое описание makefile. - Комманда
make run-prepareзапускает необходимые программы, для успешной компиляции и страта проекта. - Комманда
make buildсоздает/обновляет бинарный файл для запуска проекта. - Комманда
make runзапускает бинарный файл.
- Комманда
make runзапускает бинарный файл - Комманда
make creating-dirсоздает директрорию для ключей. - Комманда
make gen-pub-keyгенерирует публичный ключ. - Комманда
make gen-pri-keyгенерирует приватный ключ. - Комманда
make docker-runзапускает докер. - Комманда
make docker-composeподнимает базу данных.
- Docker - программное обеспечение для автоматизации развёртывания и управления приложениями в средах с поддержкой контейнеризации, контейнеризатор приложений.
- PostgreSQL — свободная объектно-реляционная система управления базами данных (СУБД).
- 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.