← Projects

Bethowen corporate portal

Employee portal for the pet-retail chain: bonuses, vacations, gigs, HR

Problem
Staff of the same Bethowen chain (see bethowen.ru above) need one portal: sales bonuses, vacations with approval, news, polls, gigs, store chat, HR.
What I built
A monorepo: a NestJS backend (Prisma, PostgreSQL, Redis, JWT with refresh-token rotation) and a Next.js frontend (React 19, TailwindCSS, TanStack Query). Role model — seller, store manager, network manager, HR, admin — with per-store data isolation. Bonuses are computed from the corporate sales API; notifications arrive in real time (SSE). One bearer API serves web and a mobile client; GitLab CI auto-deploys to production.
Result
MVP plus 25+ feature stages in production (lk.petretail.ru): bonuses, vacations, news, polls, notes, gigs, flea market, store chat, feedback and an HR section.
Sales bonuses: monthly dynamics, period metrics and a daily chart
Vacation calendar: remaining days, policy and manager approval flow
Gigs board: employee offers and store vacancies with rates and dates
Staff polls: anonymous, multi-select, with live results
Notes and routines: checklists, sections and templates