Skip to content
ValentinYoushkevichPublic

About

Employee time-tracking system — per-project logging, roles and validation rules

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

89 Commits

Folders and files

Repository files navigation

cleverlog

Cleverlog — веб-система учета рабочего времени сотрудников.

Что делает система

  • Ведет рабочие логи по проектам (Work Log) с обязательными Task Number и комментарием.
  • Учитывает отсутствия: Vacation, Sick Leave, Day Off.
  • Считает факт часов за месяц, сравнивает с нормой и показывает отклонения.
  • Формирует отчеты (по пользователю, по проекту, свод по месяцу) и экспорт в Excel.
  • Дает администратору дашборд для контроля недоработки, переработки и незаполненных дней.

Роли

  • User: работает только со своими записями и отчетами.
  • Admin: полный доступ к пользователям, проектам, календарю, нормам, закрытию месяца, аудиту.

Ключевые правила (MVP)

  • Нельзя логировать в будущие даты.
  • Нельзя совмещать Work Log и Absence в один день.
  • В проекты со статусами On Hold и Closed логирование запрещено.
  • После закрытия месяца записи для User становятся read-only.

Технологический стек

  • Frontend: Vue 3, Tailwind CSS, PrimeVue.
  • Backend: Node.js, Express, PostgreSQL. (без TS, при необходимости внедрить связка Kysely + codegen, если надо полное покрытие типами Fastify вместо Express)
  • Инфраструктура: Docker.

Тесты и валидация

  • Тесты: Supertest (HTTP/интеграционные запросы к API) и Vitest (раннер и assertions).
  • Добавлено 307 интеграционных тестов.
  • Валидация входных данных на backend — через Zod (схемы типов и проверка payload’ов).

Где смотреть полную спецификацию

  • Полный BRD: frontend/documentation/general.md

About

Employee time-tracking system — per-project logging, roles and validation rules

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages