Team Manager – это веб-приложение для эффективного управления ресурсами команды. Приложение предлагает простой и интуитивно понятный UI, с малым порогом входа для новых пользователей.
- Go (основной язык)
- Gin (HTTP-фреймворк)
- gRPC (для взаимодействия с сервисом авторизации)
- PostgreSQL (в качестве основной базы данных, использовался драйвер pgx)
- Migrate (для миграций)
- Docker (для контейнеризации бд)
- Tailwind CSS (стилизация фронтенда)
- htmx (асинхронные операции без перезагрузки страницы)
- Регистрация и авторизация пользователей с использованием системы ролей (manager/employee) для создания и назначения задач.
- Роль "manager" позволяет:
- Создавать\удалять проекты
- Создавать приглашения для добавления в проект новых участников
- Регистририровать и назначать задачи в пределах проекта.
- Просматривать статистику затраченного времени на задания внутри проектов.
- Редактировать задачи внутри проекта.
- Роль "employee" позволяет:
- Изменять статусы задач, например, принимая их в работу или завершая выполнение, при этом приложение производит расчет трудозатрат исполнителя.
- Установите и настройте PostgreSQL.
- Склонируйте репозиторий.
- Установите зависимости:
go mod tidy - Создайте нужные таблицы и запустите миграции:
make createdb make migrateup
- Запустите сервер:
go run main.go - Откройте в браузере:
http://localhost:8080 - Перейдите на страницу регистрации или авторизации, чтобы начать работать с проектами и задачами.
- Микросервисная архитектура: аутентификация через внешний auth-сервис по протоколу gRPC.
- Поддержка асинхронных действий через htmx.