Categorygithub.com/nextlag/keeper
repository
0.0.0-20240820091150-63300860b0ac
Repository: https://github.com/nextlag/keeper.git
Documentation: pkg.go.dev

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# README

Менеджер паролей Keeper

Дипломная работа на курсе "Продвинутый Go-разработчик"

Общие требования

Keeper представляет собой клиент-серверную систему, позволяющую пользователю надёжно и безопасно хранить логины, пароли, бинарные данные и прочую приватную информацию.

Полное описание технического задания на Яндекс.Практикуме

Реализация

Проект представляет собой сервеное и клиентское приложение

Серверная часть

Архитектура

Серверная часть состоит из самого приложения и хранилища Postgres, кэширование запросов аутентификации происходит в памяти.

Запуск

Для безопасной работы необходима генерация публичных и приватных ключей для шифрования токенов пользователей.

make collectKeys # генерация ключей в base64

правим .env

cp .env.sample .env  

Собираем 2 docker контейнера для сервера и базы данных с настройками из .env (необходим docker-compose)

make compose  

Собираем клиентское приложение (в зависимости от операционной системы подставляем значения:linux/amd64 linux/arm64 darwin/amd64 darwin/arm64 windows/amd64, по умолчанию для darwin/amd64)

make client linux/amd64 

Полностью удалить клиентское приложение можно:

make clean

Описание API серверной части в формате swagger - http://localhost:8080/api/v1/swagger/index.html

Клиентская часть

Для клиента разработано cli-приложение, которое локально сохраняет данные пользователя в зашифрованном по паролю виде.

Для работы клиента необходимо наличие конфигурационного ./config/client/config.yml файла

Перечень доступных пользователю команд, флаги или опции можно посмотреть, через флаг -h или --help:

Usage:  
  keeper [flags]  
  keeper [command]  
Available Commands: 
  register user_email user_password 
  login user_email user_password
  logout
  add
	login
	card
	note
	binary
  get
	login
	card
	note
	binary
  del
	login
	card
	note
	binary
  sync
  show
Flags:  
  -h, --help   help for keeper

Выполнил