README.md
November 11, 2023 · View on GitHub
HR Zero – проект для хакатона Лидеры Цифровой Трансформации (Краснодар) 2023
Что успели сделать за 192 часа!
- 🎉 Бэкенд и фронт сервиса проведения онбординга сотрудников.
- 🌏 Интерфейс для добавления отделов сотрудников в базу данных
- 📕 Редактор документов.
- ✅ Редактор опросов.
- 💾 Две обучающие игры, чтобы знакомить новичка с коллективом
- 🧨 Server-side рендеринг на фронте, для лучшего SEO!
Репозиторий
Стек технологий
- Бэкенд и вся бизнес-логика на Common Lisp.
- На фронтенде TailwindCSS + немного AlpineJS.
- База данных - PostgreSQL в облаке.
- Resend.com - для отправки email уведомлений.
- Российский аналог S3 для хранения аватаров.
- Развёртывание в Docker.
Архитектура MVP
Для простоты и скоростиi MVP реализован в виде одного сервиса связанного с базой. Мы использовали server-side рендеринг для того, чтобы всю бизнес-логику можно было реализовать на фронтенде и не требовалось много JavaScript кода.
Так же, для простоты задачи которые должны выполняться по расписанию, запускаются тем же бэкендом.
Вот так выглядит сейчас архитектура сервиса:
graph TD; subgraph backend[back + front] Application end subgraph cloud DB[(Postgres)] S3[[S3]] end subgraph external-services Resend end Application --> DB Application --> Resend Application --> S3
Развитие архитектуры
Понятно, что для стабильной работы сервис надо масштабировать, нужно интегрировать его с другими сервисами: аутентификацией, DWH, BI системой. Для этого стоит добавить в картину "парочку" компонент:
graph TD; subgraph backend Application ImageStore DocumentStore IntegrationApps CronJobProcessor end subgraph frontend Frontend; end subgraph cloud ElasticSearch(((ElasticSearch))) DB[(Postgres)] S3[[S3]] CronJobCoordinator end subgraph external-services AuthProvider CompaniesStructure Resend DWH BI[BI Analytics] end Frontend --> Application Frontend --> ImageStore Frontend --> DocumentStore Application --> AuthProvider Application --> DB Application --> ElasticSearch Application --> CronJobCoordinator Application --> Resend IntegrationApps --> Application IntegrationApps --> DWH BI --> DWH CronJobProcessor --> CronJobCoordinator ImageStore --> S3
Что интересного есть в коде???
- Схема базы данных
- Код моделей данных – используем Common Lisp ORM Mito
- Код UI виджетов – в них почти вся бизнес-логика
- Игры для знакомства с коллегами
- SQL запросы для отображения статистики
Несколько скринов с демо интерфейса
Дашборд HR сотрудника

Игра помогающая лучше узнать коллег
