gate-keeper

command module
v0.0.0-...-05cd2f1 Latest Latest
Warning

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

Go to latest
Published: Apr 21, 2024 License: BSD-3-Clause Imports: 7 Imported by: 0

README

gate-keeper


Сервис представляющий собой инструмент регистрации и аутентификации пользователей.

Регистрация производится по адресу электронной почты, имени, фамилии, паролю и подтверждению пароля. Электронная почта должна быть уникальной. Пароль должен быть не меньше 8 символов.
Аутентификация производится по электронной почте и паролю.
Пароли хранятся в зашифрованном виде.
Используются токены доступа.

Технические требования и инфраструктура
  • Проект использует базу данных PostgreSQL.
  • Используется веб-фреймворк GIN (https://github.com/gin-gonic/gin).
  • Используется библиотека ORM - GORM (https://gorm.io/index.html).
  • Сервис крутится в 2 контейнерах (для приложения и БД) и запускается через docker-compose.

Сервис предоставляет следующие HTTP-хендлеры:

  • POST /api/auth/register — регистрация пользователя;
  • POST /api/auth/login — аутентификация пользователя;
  • GET /api/users/me — получение данных пользователя;
  • GET /api/auth/logout — разлогирование пользователя;
  • GET /api/auth/refresh — обновление токена доступа.
Установка
1. Клонируйте репозиторий на локальную машину.
git clone https://github.com/da-semenov/gate-keeper.git
2. В папке проекта необходимо создать файл .env с данными для подключения к БД postgresql.

В репозитории есть образец example.env.
Для тестирования можно заменить название файла на app.env

3. Запустите сервис с помощью docker-compose.
docker-compose up gate-keeper

!!! Иногда необходимо запустить эту команду пару раз из-за рассинхрона контейнеров.

4. Далее необходимо перейти в контейнер с приложением и произвести миграции БД.
go run migrate/migrate.go

Сервис готов к работе!

Так же для удобства тестирования была создана коллекция основных запросов, которую можно импортировать в Postman. gate-keeper.postman_collection.json

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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