Momentum Incident Management
Momentum Incident Management
A structured process for identifying, analyzing, and resolving incidents that disrupt an organization's operations

Playbook Features
Project Overview
This is a full-stack web application that is called "momentum" internally and aims to replicate ServiceNow's IT service management capabilities.
Executive Summary
This project demonstrates how to build internal operational software that replaces expensive or bloated enterprise tooling with a focused, modern workflow system. It is a strong proof point for custom internal tools, process-heavy dashboards, and product architecture for business operations.
Business Problem
Many teams outgrow spreadsheets and lightweight ticket tools but do not want the cost, complexity, or rigidity of large enterprise platforms. They need a system that fits their workflow, not a generic product that forces them to adapt around it.
What I Built
- A full-stack incident and task management platform
- Role-based workflows for operations and internal teams
- File management, export capability, and structured form handling
- API-backed architecture that can support future automation and integrations
Why It Matters
Internal software is often where a lot of business inefficiency hides. This project shows how targeted product architecture can create a cleaner operational system with less friction, better visibility, and room for future scaling.
Best Fit If You Need Something Similar
This case study supports Product Architecture & Scale, Fractional CTO Strategy, and High-Performance API Design. It is especially relevant for internal portals, workflow tools, and operations software.
Architecture
The project follows a client-server architecture with clear separation of concerns:
Root Level Structure
- Monorepo setup with both client and server in the same repository
- Package management: Uses
pnpmfor dependency management - Development tools: Includes Husky for git hooks, ESLint/Prettier for code formatting
- Deployment: Configured for Vercel deployment
momentum/
βββ client/ # Frontend Vue.js application
βββ server/ # Backend Node.js API
βββ .github/ # GitHub workflows and templates
βββ .husky/ # Git hooks configuration
βββ .vercel/ # Vercel deployment config
βββ .vscode/ # VS Code workspace settings
βββ package.json # Root package configuration
βββ pnpm-lock.yaml # Package lock file
βββ vercel.json # Vercel deployment settings
βββ README.md # Project documentationFrontend (Client Directory)
Technology Stack:
- Vue.js 3 with TypeScript
- PrimeVue UI component library (modern ServiceNow-like interface)
- Vite for fast development and building
- Pinia for state management
- Vue Router for navigation
- Playwright for end-to-end testing
- Vitest for unit testing
Key Features:
- Authentication system (Login/Register components)
- Incident/Ticket management forms
- Task management
- File upload capabilities (with file-saver)
- Data export functionality (xlsx)
- Form validation (vee-validate with yup schemas)
- Rich text editing (Quill editor)
- Modern responsive UI with PrimeFlex
Client Directory Structure:
client/
βββ src/
β βββ components/
β β βββ auth/ # Login/Register components
β β βββ layout/ # Header/Footer components
β β βββ shared/ # Reusable components
β β βββ TicketForm.vue # Incident ticket form
β β βββ TaskForm.vue # Task management form
β βββ stores/ # Pinia state management
β β βββ auth.module.ts
β β βββ incidents.module.ts
β β βββ user.module.ts
β β βββ ...
β βββ service/ # API service layer
β βββ utils/ # Utility functions
β βββ App.vue # Main application component
β βββ main.ts # Application entry point
βββ public/ # Static assets
βββ package.json # Frontend dependencies
βββ vite.config.ts # Vite configuration
βββ tsconfig.json # TypeScript configuration
βββ playwright.config.ts # E2E test configurationBackend (Server Directory)
Technology Stack:
- Node.js with Express.js
- MongoDB with Mongoose ODM
- JWT authentication with refresh tokens
- Swagger API documentation
- CommonJS modules (
.cjsfiles)
Key Features:
- Models: User, Incident, CI (Configuration Items), Roles, Refresh Tokens
- Authentication: JWT-based with bcrypt password hashing
- File uploads: Multer for handling image uploads
- Email functionality: Nodemailer integration
- API documentation: Swagger UI available
- CORS enabled for cross-origin requests
Server Directory Structure:
server/
βββ controllers/ # Request handlers
β βββ auth.controller.cjs
β βββ user.controller.cjs
β βββ shared/
βββ models/ # Database models
β βββ user.model.cjs
β βββ incident.model.cjs
β βββ ci.model.cjs
β βββ role.model.cjs
β βββ refreshToken.model.cjs
βββ routes/ # API route definitions
βββ middlewares/ # Custom middleware
βββ database/ # Database configuration
βββ helpers/ # Utility functions
βββ validations/ # Input validation schemas
βββ configs/ # Application configuration
βββ uploadedImages/ # File upload storage
βββ build/ # Compiled output
βββ server.cjs # Main server file
βββ swagger.cjs # API documentation setup
βββ package.json # Backend dependenciesDevelopment Workflow
Available Scripts:
# Install dependencies for both client and server
pnpm install
# Start both client and server concurrently
pnpm start
# Start only the server (runs on backend port)
pnpm start:server
# Start only the client (runs on http://localhost:5173/)
pnpm start:client
# Format code in both directories
pnpm format
# Copy environment variables
pnpm copy:env
# Clean all node_modules and build files
pnpm cleanEnvironment Setup:
- Clone the repository
- Run
pnpm installto install all dependencies - Run
pnpm copy:envto set up environment variables - Run
pnpm startto start both client and server - Access the application at
http://localhost:5173/
DevOps & Quality
- Git hooks: Husky for pre-commit actions
- Linting: ESLint configuration for both frontend and backend
- Code formatting: Prettier for consistent code style
- Commit standards: Commitlint for conventional commits
- Testing: Unit tests (Vitest) and E2E tests (Playwright)
- Deployment: Vercel configuration for production deployment
ServiceNow-like Features
Based on the structure, this clone implements:
- Incident Management: Ticket creation and tracking
- Task Management: Work item handling
- Configuration Items (CI): IT asset management
- User Management: Role-based access control
- Authentication: Secure login/registration system
- File Management: Document/image upload capabilities
- Reporting: Data export and analysis features
- API Documentation: Swagger UI for API exploration
Technology Highlights
Frontend Technologies:
- Vue 3 Composition API
- TypeScript for type safety
- PrimeVue for enterprise UI components
- Pinia for reactive state management
- Vite for fast development builds
- Playwright for reliable E2E testing
Backend Technologies:
- Express.js for robust API development
- MongoDB for flexible document storage
- Mongoose for elegant object modeling
- JWT for secure authentication
- Swagger for comprehensive API documentation
- Multer for efficient file handling
This is a well-structured, production-ready application that demonstrates modern full-stack development practices while replicating core ServiceNow functionality for educational/demonstration purposes.










