Skip to main content

Tech Stack

The Bahri MOC & PCR Platform is built on a modern web stack optimized for server-side rendering, real-time capabilities, and rapid UI development.

Core Framework

TechnologyVersionPurpose
Next.js15.0.5Full-stack React framework with App Router, API routes, server actions
React19.2.1UI component library
TypeScript~5.6Type-safe JavaScript (used alongside plain JavaScript in some files)

Database

TechnologyVersionPurpose
MongoDBDocument database (hosted remotely)
Mongoose8.8.1MongoDB object modeling and schema validation

Authentication

TechnologyVersionPurpose
joseJWT creation and verification (used in middleware and session management)
bcryptPassword hashing for user credentials

UI & Styling

TechnologyPurpose
Tailwind CSS 3.4Utility-first CSS framework
shadcn/uiPre-built accessible component library built on Radix UI
Radix UIHeadless accessible UI primitives (Dialog, Popover, Select, Accordion, etc.)
Ant Design 5.22Additional UI components (used selectively)
Framer MotionAnimation library for page transitions and component animations
Lucide ReactIcon library

Forms & Tables

TechnologyPurpose
React Hook FormForm state management
ZodSchema validation (used in login and form validation)
@hookform/resolversConnects Zod schemas to React Hook Form
TanStack React Table 8Headless table library for archive views

Rich Text

TechnologyPurpose
TipTapRich text editor (used in MOC description, PCR details, and year-end review sections)
react-markdownMarkdown rendering for notifications and display views
turndownHTML to Markdown conversion
remark-gfmGitHub Flavored Markdown support
rehype-rawRaw HTML in markdown support

File Storage

TechnologyPurpose
CloudinaryImage and document storage
next-cloudinaryCloudinary integration for Next.js
AWS S3Additional file storage (via custom Lambda endpoint)

Email & Notifications

TechnologyPurpose
AWS LambdaEmail dispatch service (forwards to AWS SES)
Firebase 11.2Real-time notification capabilities

State Management

TechnologyPurpose
Zustand 5Lightweight state management
React built-in (useState, useEffect)Primary state management pattern

PDF & Export

TechnologyPurpose
@react-pdf/rendererPDF document generation
react-to-printBrowser print functionality for MOC tracking cards

Charts

TechnologyPurpose
RechartsCharting library for the analytics dashboard

Utilities

TechnologyPurpose
axiosHTTP client (used alongside native fetch)
date-fnsDate formatting and manipulation
uuidUnique ID generation
sonnerToast notification UI
react-hot-toastAdditional toast notifications