parolus

Форк
0

4 месяца назад
4 месяца назад
4 месяца назад
4 месяца назад
4 месяца назад
4 месяца назад
4 месяца назад
4 месяца назад
README.md

Пар*лус - корпоративный On-Premise парольный менеджер

alt preview

Основные функции

  • ⚡ Ускоренный процесс аутентификации
  • 🛡️ Высокий уровень защиты хранимых данных
  • ➡️ Функция sharing для быстрого обмена паролями между сотрудниками
  • 📱 Адаптивен под мобильные устройства
  • 📦 Коробочное решение простой задачи обмена конфиденциальной информацией внутри компаний

Описание

Стек: FastAPI, VueJS, MongoDB, Docker

Комментарий автора: "Пар*лус был создан по двум причинам: локальная потребность в незамысловатом парольном менеджере в компании, в которой я работаю, а также желание попробовать новый для меня стек; парольных менеджеров миллион, так что в этом вы вряд-ли найдете что-то особенное - это просто нормальное и быстро-разворачиваемое хранилище паролей для ваших сотрудников - это лучше, чем делиться паролями в мессенджерах; выкладываю как open-source приложение чтобы вы смогли внести свои коррективы, при желании, сможете изменить приложение под свои нужды!"

Быстрое развёртывание

Вам потребуется установленный Docker Engine, docker-compose, SSL сертификат для домена .local без пароля (обязательно - положите localhost.crt и localhost.key в директорию /backend/), а также свободные порты 80, 443, 27017 - по умолчанию, бэкенд и фронтенд сконфигурированы для работы под именем parolus.local;

docker-compose up -d --build

Веб-приложение будет доступно по адресу parolus.local;

Техническая справка: бэкенд на FastAPI + MongoDB

Все сконфигурировано для работы с MongoDB, NoSQL базой данных, которая хранит все в BSON формате (binary json) - к ней легко подключаться при помощи Compass и очень удобно управлять данными - в Пар*лусе будет всего три коллекции (таблицы): users, paroluses, app - они создадутся автоматически; FastAPI будет хэшировать пароли от учетных записей и зашифровывать созданные объекты паролусов - в БД они будут храниться в виде длинных строк;

  • backend/db_conn.py содержит все что связано с БД - подключение к БД, функции-помощники (helper'ы) для ORM, а также CRUD функции для работы с БД;
  • backend/db_models.py содержит в себе pydantic модели, упрощающие работу с БД - они также нужны для ORM;
  • backend/main.py является самим FastAPI приложением - это эндпоинты API и некоторые вспомогательные функции.

Стандартно, MongoDB развернется в контейнере, используя порт 27017 и будет доступна для подключения без аутентификации;

Техническая справка: фронтенд на VueJS

  • frontend/src/main.js содержит главные параметры развернутого фронтенда - инициализация VueJS приложения, подключение VueX-store хранилища, а также библиотеки компонентов PrimeVue;
  • frontend/src/plugins/router.js - навигация (роутинг) фронтенд приложения;
  • frontend/src/plugins/store.js - VueX хранилище, которое сохранит данные в Local Storage браузера, а также основные API запросы на бэкенд при помощи Axios;
  • frontend/src/components/*.vue - SFC (single file component) файлы страниц аутентификации, домашней страницы и панели администратора;
  • frontend/src/App.vue - технический файл для инициализации приложения.

Техническая справка: администрирование

alt preview

Развернув проект на сервере, ваши коллеги не смогут зарегистрироваться самостоятельно на странице аутентификации, однако, если вы хотите разрешить пользователям создавать УЗ самостоятельно - в панели администратора вы сможете изменить конфигурацию приложения; в вашем распоряжении кастомная панель администратора с основным необходимым функционалом, а также встроенная в FastAPI /docs, на которой можно легко создать первую УЗ администратора.

Ключ от панели администратора: QS9yFNjn

💸 Поблагодарить автора: +7 977 728 82 08 - Иван Ч. (Сбербанк/Т-Банк)

Москва, 2024


Описание

Бесплатный корпоративный парольный менеджер

Языки

CSS

  • Vue
  • JavaScript
  • Dockerfile
  • Python
  • HTML
Сообщить о нарушении

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.