A professional IT Service Analytics and Ticketing platform built on the MERN stack. Designed to help organizations manage, track, and analyze IT service tickets with SLA enforcement, role-based dashboards, and real-time analytics.
- Overview
- Tech Stack
- System Architecture
- Database Schema
- Folder Structure
- API Endpoints
- Setup & Installation
- Branching & Commit Strategy
- Deployment
- Roadmap
- License
The IT Service Analytics Platform enables organizations to:
- Create & manage IT service tickets with priority, status, and category tracking
- Enforce SLAs with automated breach detection
- Visualize analytics via dashboards (resolution times, ticket volumes, SLA compliance)
- Role-based access for Admins, Analysts, and End Users
- Audit logging for compliance and traceability
MERN provides a full JavaScript ecosystem β unified language across frontend, backend, and database queries. MongoDB's flexible schema suits analytics-heavy ticketing systems. React enables a component-based UI. Express provides scalable middleware-driven API design.
| Layer | Technology | Purpose |
|---|---|---|
| Frontend | React 18 + Vite | Fast, component-based UI |
| Tailwind CSS | Clean enterprise styling | |
| Axios | HTTP client | |
| React Router v6 | Client-side routing | |
| TanStack Query (React Query) | Server state management | |
| Zustand | Global client state (if needed) | |
| React Hook Form + Zod | Form handling & validation | |
| Backend | Node.js + Express.js | REST API server |
| MongoDB Atlas + Mongoose | Cloud database + ODM | |
| JWT + bcrypt | Authentication & password hashing | |
| Helmet | Security headers | |
| Express Validator | Input validation | |
| Morgan | HTTP request logging | |
| DevOps | Git + GitHub | Version control |
| Vercel | Frontend deployment | |
| Render | Backend deployment | |
| Postman + Swagger | API testing & documentation |
User (Browser)
β
React Frontend (Vercel)
β Axios (HTTPS)
Express Backend (Render)
β Mongoose
MongoDB Atlas (Cloud DB)
Request Flow:
- User interacts with React UI
- Axios sends REST API request over HTTPS
- Express receives request β middleware validates & authenticates (JWT)
- Controller processes business logic
- Mongoose interacts with MongoDB Atlas
- Response returned to frontend
- React updates UI via TanStack Query cache
See docs/architecture.md for detailed diagrams.
| Entity | Description |
|---|---|
| User | Platform users with roles (admin/analyst/user) |
| Organization | Companies/teams managing tickets |
| Ticket | IT service requests with status & priority |
| ServiceCategory | Ticket categories with SLA time limits |
| SLA | Response & resolution time targets per category |
| AnalyticsReport | Aggregated ticket metrics per organization |
| AuditLog | System activity trail for compliance |
User ββcreatesβββΆ Ticket
Ticket ββbelongs toβββΆ ServiceCategory
Ticket ββbelongs toβββΆ Organization
Ticket ββfollowsβββΆ SLA
AnalyticsReport ββaggregatesβββΆ Ticket
See docs/er-diagram.md for the full ER diagram.
IT-Service-Analyst-Dashboard/
β
βββ client/ # React Frontend
β βββ src/
β βββ api/ # Axios API service functions
β βββ components/ # Reusable UI components
β βββ pages/ # Page-level components
β βββ hooks/ # Custom React hooks
β βββ store/ # Zustand stores
β βββ layouts/ # Layout wrappers (Sidebar, Navbar)
β βββ routes/ # Route definitions
β βββ utils/ # Helper functions
β
βββ server/ # Express Backend
β βββ config/ # DB connection, environment config
β βββ controllers/ # Route handler logic
β βββ models/ # Mongoose schemas
β βββ routes/ # Express route definitions
β βββ middleware/ # Auth, error handling, validation
β βββ utils/ # Helper utilities
β βββ validators/ # Express-validator rules
β
βββ docs/ # Design documentation
β βββ architecture.md
β βββ er-diagram.md
β βββ api-design.md
β βββ wireframes.md
β
βββ .gitignore
βββ README.md
| Method | Endpoint | Description | Auth |
|---|---|---|---|
POST |
/api/auth/register |
Register new user | Public |
POST |
/api/auth/login |
Login & get JWT | Public |
GET |
/api/auth/profile |
Get current user profile | Private |
GET |
/api/tickets |
List tickets (filtered) | Private |
POST |
/api/tickets |
Create ticket | Private |
PUT |
/api/tickets/:id |
Update ticket | Private |
DELETE |
/api/tickets/:id |
Delete ticket | Admin |
GET |
/api/analytics/summary |
Dashboard analytics | Private |
GET |
/api/organizations |
List organizations | Admin |
POST |
/api/organizations |
Create organization | Admin |
See docs/api-design.md for the complete API specification.
Prerequisites: Node.js 18+, npm 9+, MongoDB Atlas account
# Clone the repo
git clone https://github.com/<your-username>/IT-Service-Analyst-Dashboard.git
cd IT-Service-Analyst-Dashboard
# Install backend dependencies
cd server && npm install
# Install frontend dependencies
cd ../client && npm installBackend (server/.env):
PORT=5000
MONGO_URI=mongodb+srv://<user>:<pass>@cluster.mongodb.net/it-service-analytics
JWT_SECRET=your_jwt_secret_hereFrontend (client/.env):
VITE_API_URL=http://localhost:5000/api# Terminal 1 β Backend
cd server && npm run dev
# Terminal 2 β Frontend
cd client && npm run dev| Branch | Purpose |
|---|---|
main |
Production-ready code |
develop |
Integration/staging |
feature/auth |
Authentication module |
feature/ticket |
Ticket management |
feature/analytics |
Analytics dashboard |
feat: New feature
fix: Bug fix
refactor: Code restructuring
docs: Documentation changes
test: Adding/updating tests
chore: Build/config changes
| Component | Platform | URL |
|---|---|---|
| Frontend | Vercel | https://<app>.vercel.app |
| Backend | Render | https://<api>.onrender.com |
| Database | MongoDB Atlas | Cloud-hosted cluster |
- Architecture & ER diagrams
- API design specification
- Wireframes
- Project scaffolding
- Authentication (JWT + bcrypt)
- Ticket CRUD operations
- Role-based access control
- Basic dashboard UI
- SLA breach detection logic
- Chart.js analytics dashboard
- Ticket filtering (date, priority, status)
- Pagination
- CSV export
- Activity audit logs
- AI-Powered Insights: Auto-suggest solutions to analysts based on ticket content.
- Mobile App: React Native version for field technicians.
- Email Integration: Create tickets directly from incoming emails.
- Dark Mode V2: Enhanced theming options for user preference.
- Slack/Teams Bot: Notifications and quick actions directly in chat apps.
This project is developed as part of an academic evaluation. All rights reserved.