Skip to content

azazel3ooo/keeper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

azazel3ooo/keeper

Описание работы с приложениями

При отсутствии собранных приложений, необходимо выполнить сборку, с помощью make {название приложения}_{название системы} (при запуске make без параметров, будет выполнен билд клиента и сервера для локальной системы). После запустить оба приложения. При необходимости можно изменить файлы конфигурации перед запуском приложений. В клиенте реализовано подобие интерактивного меню, поэтому инструкция по использованию не требуется.

Описание взаимодействия

Описание взаимодействия клиент-сервер находится по адресу http://host/api/v1/swagger/index.html, где host - указанный адрес для сервера

Описание

Бизнес

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

Сервер должен реализовывать следующую бизнес-логику:

  • регистрация, аутентификация и авторизация пользователей;
  • хранение приватных данных;
  • синхронизация данных между несколькими авторизованными клиентами одного владельца;
  • передача приватных данных владельцу по запросу.

Клиент должен реализовывать следующую бизнес-логику:

  • аутентификация и авторизация пользователей на удалённом сервере;
  • доступ к приватным данным по запросу.

Функции, реализация которых остаётся на усмотрение исполнителя:

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

Дополнительные требования:

  • клиент должен распространяться в виде CLI-приложения с возможностью запуска на платформах Windows, Linux и Mac OS;
  • клиент должен давать пользователю возможность получить информацию о версии и дате сборки бинарного файла клиента.

Типы хранимой информации

  • пары логин/пароль;
  • произвольные текстовые данные;
  • произвольные бинарные данные;
  • данные банковских карт.

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

Абстрактная схема взаимодействия с системой

Ниже описаны базовые сценарии взаимодействия пользователя с системой. Они не являются исчерпывающими — решение отдельных сценариев (например, разрешение конфликтов данных на сервере) остаётся на усмотрение исполнителя.

Для нового пользователя:

  1. Пользователь получает клиент под необходимую ему платформу.
  2. Пользователь проходит процедуру первичной регистрации.
  3. Пользователь добавляет в клиент новые данные.
  4. Клиент синхронизирует данные с сервером.

Для существующего пользователя:

  1. Пользователь получает клиент под необходимую ему платформу.
  2. Пользователь проходит процедуру аутентификации.
  3. Клиент синхронизирует данные с сервером.
  4. Пользователь запрашивает данные.
  5. Клиент отображает данные для пользователя.

Тех

_ - _

Инструкция по использованию

_ - _

Используемые технологии

  • В качестве базы данных для клиента выбрано sqlite. Поскольку обеспечивает простоту использования клиента на любой
    платформе и для ее использования достаточно 1 файла рядом с проектом
  • В качестве базы данных для сервера sqlite(простота развертывания, за счет реализации отсутствие многопоточного обращения).

Клиент

Зависимости

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

Работа

Принцип взаимодействия был описан выше. Клиенту нужна БД поскольку, со стороны пользователя хотелось бы иметь доступ к паролям\данным, созданным ранее локально. Т.е., БД клиента служит локальным кэшом, на случай отсутствия интернет соединения у клиента или проблем на стороне сервера.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published