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

الانتقال إلى التثبيت

معلومات المصدر

المستودع
reason-machines/data-skills
آخر نشاط في المصدر
٢ أغسطس ٢٠٢٦ في ١٨:٢٨
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
٥
التفرعات
١

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
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> )}
عرض على GitHub
ملف SKILL.md هذا كبير جدا، لذلك يعرض SkillsMP القسم الاول فقط هنا. عرض على GitHub