backend_v1

module
v0.0.0-...-0b4a9b8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 28, 2024 License: MIT

README

task-manager

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

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

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

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

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

  1. Склонируйте репозиторий в любую подходящую директорию на вашем компьютере.
  2. В корне репозитория выполните команду go mod init <name> (где <name> — адрес вашего репозитория на GitHub без префикса https://) для создания модуля.
  3. Используйте service docker run и sudo docker compose -f infra/postgres.yaml up -d для "поднятия базы данных".
  4. Используйте make all для запуска последовательно выполняющихся таргетов, которые описанны ниже.
Target:
  • Комманда make запускает краткое описание makefile.
  • Комманда make run-prepare запускает необходимые программы, для успешной компиляции и страта проекта.
  • Комманда make build создает/обновляет бинарный файл для запуска проекта.
  • Комманда make run запускает бинарный файл.
Prerequisites:
  • Комманда make run запускает бинарный файл
  • Комманда make creating-dir создает директрорию для ключей.
  • Комманда make gen-pub-key генерирует публичный ключ.
  • Комманда make gen-pri-key генерирует приватный ключ.
  • Комманда make docker-run запускает докер.
  • Комманда make docker-compose поднимает базу данных.

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

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

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

  • 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.

Directories

Path Synopsis
cmd
internal
pkg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL