• Residence: Bosnia & Herzegovina
  • City: Bijeljina
  • Age: 25
DOWNLOAD CV
Back to Projects

OneBMS - Full-Stack HR & Business Management Platform

2025 – Present

OneBMS

Full-Stack · NestJS · React · React Native

Overview

OneBMS (One Business Management System) is a comprehensive, cloud-based HR and business management platform for modern organisations. It centralises all core operations - from hiring and onboarding to invoicing and project management - into a single, unified system available on web and mobile.

The platform spans 37+ modules across human resources, recruitment, finance, project management, client management, and company configuration. As co-founder and lead developer, I designed the architecture and built the majority of the stack - the NestJS backend API, the React web dashboard, and the React Native mobile app — working alongside a small team.

Key Features

HR Management

Employee profiles, leave management, attendance tracking, contracts, custom HR fields, work hours, department management, and office duty rotation.

Full ATS Recruitment

End-to-end applicant tracking pipeline with Kanban board, candidate database, interview scheduling, job offers, and scheduled rejection emails via Bull queue.

Finance & Invoicing

Invoicing system with PDF generation (Puppeteer), expense tracking, refund management, work hours billing, and a salary calculator with tax configuration.

Projects & Tasks

Project management with team assignment, task boards, time tracking, client visibility, and team contribution tracking across all assigned projects.

Performance Reviews

Full review cycle with KPI expectations, rating scales, 360 feedback, electronic sign-off, monthly 1:1 meetings, calendar integration, and Excel export.

Multi-Channel Notifications

Push notifications (Expo SDK), email (Nodemailer + Handlebars), Slack integration, and in-app notifications with per-user configurable rules.

Backend

Built with NestJS 10 and TypeScript following a strict module-per-domain architecture. Data lives in MySQL via TypeORM; background jobs and email delivery run through Bull Queue (Redis). PDF generation uses Puppeteer; image processing uses Sharp with four thumbnail sizes.

Auth supports JWT (15m access / 30d refresh with token rotation), Google OAuth, and Apple Sign-In. The web frontend uses HttpOnly cookies; the mobile app uses Bearer tokens stored in secure storage. Every write operation is tracked by an automatic audit log via a TypeORM subscriber. A global ThrottlerGuard enforces rate limiting per endpoint.

The system supports six languages (English, German, Serbian, Spanish, French, Italian) via nestjs-i18n, with all error messages and email templates fully translated. The API is documented with Swagger.

Web Dashboard

Built with React 18, Vite, and TypeScript. UI components use MUI v6 with a custom light/dark palette. State is managed via Redux Toolkit; forms use React Hook Form + Yup. Tables are built on MUI DataGrid; date handling uses MUI DatePicker + Moment.js. Auth relies on HttpOnly cookies - access tokens are never stored in localStorage.

Mobile App

Built with React Native 0.81 and Expo SDK 54. Navigation uses React Navigation 7 (Stack, Drawer, Bottom Tabs). State is managed by Redux Toolkit; UI components by React Native Paper. Supports Google and Apple Sign-In, push notifications via expo-notifications, and multi-company environment switching.

Technologies

Backend

NestJS 10 TypeScript MySQL TypeORM Redis Bull Queue JWT Google OAuth Apple Sign-In Puppeteer Sharp Nodemailer Slack API nestjs-i18n Swagger Vitest

Web

React 18 Vite TypeScript MUI v6 Redux Toolkit React Hook Form Yup Axios Moment.js i18next

Mobile

React Native 0.81 Expo SDK 54 TypeScript Redux Toolkit React Navigation 7 React Native Paper Expo Notifications Axios i18next