Skip to main content

enterprise-user-management-system-ai

Full-stack user management system with AI-powered analytics for task tracking, ticket management, and predictive insights

Jump to install

Source facts

Repository
reason-machines/data-skills
Last source activity
August 2, 2026 at 18:28
Detected SKILL.md language
English
Stars
5
Forks
1

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
enterprise-user-management-system-ai
description
Full-stack user management system with AI-powered analytics for task tracking, ticket management, and predictive insights
triggers
["set up enterprise user management with AI analytics","create user management dashboard with AI features","implement task tracking with burnout detection","build support ticket system with AI classification","add AI-powered risk detection to user system","configure user management with kanban board","integrate ML analytics for project insights","deploy user management system with FastAPI ML"]
# Enterprise User Management System with AI Analytics > Skill by [ara.so](https://ara.so) — Data Skills collection. A full-stack enterprise user management platform combining React frontend, Node.js backend, and FastAPI ML service. Provides role-based access control, task management with Kanban boards, support ticket system, and AI-powered analytics including risk detection, anomaly detection, burnout analysis, and predictive project insights. ## What It Does - **User Management**: JWT-authenticated system with role-based access (Admin/User) - **Task Tracking**: Kanban board (To Do → In Progress → Done) with time tracking - **Support Tickets**: AI-classified ticket routing and management - **AI Analytics**: Risk prediction, anomaly detection, burnout analysis, project delay prediction - **Real-time Insights**: Dashboard with performance metrics and alerts ## Installation ### Prerequisites ```bash # Required node >= 14.x python >= 3.8 mongodb >= 4.x ``` ### Clone and Setup ```bash git clone https://github.com/Nareshkumar2583/Enterprise-User-Management-System-with-AI-Analytics.git cd Enterprise-User-Management-System-with-AI-Analytics ``` ### Backend Setup ```bash cd backend npm install ``` Create `backend/.env`: ```env PORT=5000 MONGODB_URI=mongodb://localhost:27017/enterprise-user-mgmt JWT_SECRET=your_jwt_secret_key ML_SERVICE_URL=http://localhost:8000 NODE_ENV=development ``` Start backend: ```bash npm start # Runs at http://localhost:5000 ``` ### ML Service Setup ```bash cd ml-service pip install -r requirements.txt ``` Create `ml-service/.env`: ```env MODEL_PATH=./models LOG_LEVEL=INFO BACKEND_URL=http://localhost:5000 ``` Start ML service: ```bash uvicorn main:app --reload --port 8000 # Runs at http://localhost:8000 ``` ### Frontend Setup ```bash cd frontend npm install ``` Create `frontend/.env`: ```env REACT_APP_API_URL=http://localhost:5000 REACT_APP_ML_API_URL=http://localhost:8000 ``` Start frontend: ```bash npm start # Runs at http://localhost:3000 ``` ## Key API Endpoints ### Authentication (Backend) ```javascript // POST /api/auth/register { "name": "John Doe", "email": "john@company.com", "password": "securepass123", "role": "user" // or "admin" } // POST /api/auth/login { "email": "john@company.com", "password": "securepass123" } // Returns: { token: "jwt_token", user: {...} } ``` ### User Management (Backend) ```javascript // GET /api/users - List all users (Admin only) // GET /api/users/:id - Get user by ID // PUT /api/users/:id - Update user // DELETE /api/users/:id - Delete user (Admin only) ``` ### Task Management (Backend) ```javascript // GET /api/tasks - Get user's tasks // POST /api/tasks - Create task { "title": "Implement login feature", "description": "Add JWT authentication", "assignedTo": "user_id", "status": "todo", // todo, in_progress, done "priority": "high", "dueDate": "2026-05-01" } // PATCH /api/tasks/:id - Update task status { "status": "in_progress", "timeSpent": 120 // minutes } ``` ### Support Tickets (Backend) ```javascript // POST /api/tickets - Create ticket { "title": "Unable to access dashboard", "description": "Getting 403 error", "priority": "high", "category": "technical" } // GET /api/tickets - Get tickets // PATCH /api/tickets/:id - Update ticket { "status": "in_progress", "assignedTo": "admin_id" } ``` ### AI Analytics (ML Service) ```python # POST /api/ml/classify-ticket { "title": "Password reset not working", "description": "Clicked forgot password but no email received" } # Returns: { "category": "technical", "priority": "medium", "confidence": 0.89 } # POST /api/ml/detect-risk { "userId": "user_id", "failedLogins": 5, "unusualActivity": true, "accessPatterns": ["night", "weekend"] } # Returns: { "riskScore": 0.76, "riskLevel": "high", "factors": [...] } # POST /api/ml/detect-burnout { "userId": "user_id", "tasksCompleted": 45, "hoursWorked": 65, "overtimeHours": 15, "missedDeadlines": 3 } # Returns: { "burnoutScore": 0.82, "recommendation": "reduce_workload" } # POST /api/ml/predict-delay { "projectId": "proj_123", "tasksRemaining": 12, "averageCompletionTime": 4.5, "teamSize": 5, "complexityScore": 7 } # Returns: { "delayProbability": 0.65, "estimatedDelay": 5 } ``` ## Frontend Integration Examples ### Authentication Flow ```javascript // src/services/authService.js import axios from 'axios'; const API_URL = process.env.REACT_APP_API_URL; export const login = async (email, password) => { const response = await axios.post(`${API_URL}/api/auth/login`, { email, password }); if (response.data.token) { localStorage.setItem('token', response.data.token); localStorage.setItem('user', JSON.stringify(response.data.user)); } return response.data; }; export const logout = () => { localStorage.removeItem('token'); localStorage.removeItem('user'); }; export const getAuthHeader = () => { const token = localStorage.getItem('token'); return token ? { Authorization: `Bearer ${token}` } : {}; }; ``` ### Task Management Component ```javascript // src/components/KanbanBoard.jsx import React, { useState, useEffect } from 'react'; import axios from 'axios'; import { getAuthHeader } from '../services/authService'; const KanbanBoard = () => { const [tasks, setTasks] = useState({ todo: [], in_progress: [], done: [] }); const API_URL = process.env.REACT_APP_API_URL; useEffect(() => { fetchTasks(); }, []); const fetchTasks = async () => { try { const response = await axios.get(`${API_URL}/api/tasks`, { headers: getAuthHeader() }); const grouped = response.data.reduce((acc, task) => { acc[task.status] = acc[task.status] || []; acc[task.status].push(task); return acc; }, {}); setTasks(grouped); } catch (error) { console.error('Failed to fetch tasks:', error); } }; const updateTaskStatus = async (taskId, newStatus) => { try { await axios.patch( `${API_URL}/api/tasks/${taskId}`, { status: newStatus }, { headers: getAuthHeader() } ); fetchTasks(); // Refresh } catch (error) { console.error('Failed to update task:', error); } }; return ( <div className="kanban-board"> {['todo', 'in_progress', 'done'].map(status => ( <div key={status} className="kanban-column"> <h3>{status.replace('_', ' ').toUpperCase()}</h3> {tasks[status]?.map(task => ( <div key={task._id} className="task-card"> <h4>{task.title}</h4> <p>{task.description}</p> <select value={task.status} onChange={(e) => updateTaskStatus(task._id, e.target.value)} > <option value="todo">To Do</option> <option value="in_progress">In Progress</option> <option value="done">Done</option> </select> </div> ))} </div> ))} </div> ); }; export default KanbanBoard; ``` ### AI-Powered Ticket Classification ```javascript // src/components/CreateTicket.jsx import React, { useState } from 'react'; import axios from 'axios'; import { getAuthHeader } from '../services/authService'; const CreateTicket = () => { const [formData, setFormData] = useState({ title: '', description: '' }); const [aiSuggestion, setAiSuggestion] = useState(null); const API_URL = process.env.REACT_APP_API_URL; const ML_API_URL = process.env.REACT_APP_ML_API_URL; const classifyWithAI = async () => { try { const response = await axios.post( `${ML_API_URL}/api/ml/classify-ticket`, { title: formData.title, description: formData.description } ); setAiSuggestion(response.data); } catch (error) { console.error('AI classification failed:', error); } }; const submitTicket = async (e) => { e.preventDefault(); try { await axios.post( `${API_URL}/api/tickets`, { ...formData, category: aiSuggestion?.category || 'general', priority: aiSuggestion?.priority || 'medium' }, { headers: getAuthHeader() } ); alert('Ticket created successfully!'); setFormData({ title: '', description: '' }); setAiSuggestion(null); } catch (error) { console.error('Failed to create ticket:', error); } }; return ( <div className="create-ticket"> <form onSubmit={submitTicket}> <input type="text" placeholder="Ticket Title" value={formData.title} onChange={(e) => setFormData({...formData, title: e.target.value})} /> <textarea placeholder="Description" value={formData.description} onChange={(e) => setFormData({...formData, description: e.target.value})} /> <button type="button" onClick={classifyWithAI}> Get AI Classification </button> {aiSuggestion && ( <div className="ai-suggestion"> <p>Category: {aiSuggestion.category}</p> <p>Priority: {aiSuggestion.priority}</p> <p>Confidence: {(aiSuggestion.confidence * 100).toFixed(1)}%</p> </div> )}
View on GitHub
This SKILL.md is very large, so SkillsMP previews the first section here. View on GitHub