parolus
Пар*лус - корпоративный On-Premise парольный менеджер
Основные функции
- ⚡ Ускоренный процесс аутентификации
- 🛡️ Высокий уровень защиты хранимых данных
- ➡️ Функция 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 - технический файл для инициализации приложения.
Техническая справка: администрирование
Развернув проект на сервере, ваши коллеги не смогут зарегистрироваться самостоятельно на странице аутентификации, однако, если вы хотите разрешить пользователям создавать УЗ самостоятельно - в панели администратора вы сможете изменить конфигурацию приложения; в вашем распоряжении кастомная панель администратора с основным необходимым функционалом, а также встроенная в FastAPI /docs, на которой можно легко создать первую УЗ администратора.
Ключ от панели администратора: QS9yFNjn
💸 Поблагодарить автора: +7 977 728 82 08 - Иван Ч. (Сбербанк/Т-Банк)
Москва, 2024
Описание
Бесплатный корпоративный парольный менеджер
Языки
CSS
- Vue
- JavaScript
- Dockerfile
- Python
- HTML