Skip to content

NochboolPrime/task_manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Task Manager API

О проекте

Task Manager API — это backend-приложение, реализующее систему управления задачами для команд. Проект разработан на языке Go с использованием фреймворка Gin для создания REST API. В проекте реализована базовая функциональность для аутентификации с использованием JWT, а также эндпоинты для создания и управления командами, проектами и задачами.

Эта архитектура демонстрирует принципы Clean Architecture с разделением кода по модулям (конфигурация, модели, контроллеры, роутинг, работа с базами данных и middleware). На данном этапе проект использует in-memory хранилище для демонстрационных целей, а подключение к PostgreSQL и Redis настроено для интеграции в случае расширения проекта.

Функциональность

  • Аутентификация: Авторизация через JWT.
  • Управление командами: Создание и управление участниками команды.
  • Управление проектами: Создание, редактирование и удаление проектов.
  • Управление задачами: CRUD-операции для задач с привязкой к проектам.
  • Middleware: Централизованная обработка ошибок и проверка JWT.

Структура проекта

task_manager/ ├── cmd/ │ └── server/ │ └── main.go ├── pkg/ │ ├── config/ │ │ └── config.go │ ├── controllers/ │ │ ├── auth.go │ │ ├── team.go │ │ ├── project.go │ │ └── task.go │ ├── database/ │ │ ├── postgres.go │ │ └── redis.go │ ├── middleware/ │ │ └── auth.go │ ├── models/ │ │ ├── user.go │ │ ├── team.go │ │ ├── project.go │ │ └── task.go │ └── routes/ │ └── routes.go ├── .env ├── go.mod └── README.md

Установка и запуск

Требования

  • Go версии 1.16+
  • PostgreSQL (если планируется работа с базой данных)
  • Redis (если планируется использование кеша)
  • (Опционально) Docker для локального запуска Redis (например, на Windows)

Шаги установки

  1. Клонирование репозитория:

    git clone https://github.com/NochboolPrime/task_manager.git
    cd task_manager
    
  2. Инициализация модуля и установка зависимостей:

Если модуль уже не инициализирован, выполните:

go mod init github.com/NochboolPrime/task_manager
go mod tidy

3. **Создание файла конфигурации (.env)**:

В корне проекта создайте файл .env со следующим содержимым (пример):

# Настройки PostgreSQL
POSTGRES_CONN=postgres://user:password@localhost:5432/taskdb?sslmode=disable

# Настройки Redis
REDIS_ADDR=localhost:6379
REDIS_PASSWORD=


Запуск сервера

Запустите сервер с помощью команды:

```bash
go run cmd/server/main.go

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages