Bethowen corporate portal
Employee portal for the pet-retail chain: bonuses, vacations, gigs, HR
- NestJS
- Next.js
- React 19
- Prisma
- PostgreSQL
- Redis
- 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.