live link: https://it-services-rq34.onrender.com
A comprehensive, AI-powered IT service management platform that streamlines issue tracking, automates categorization, and provides intelligent solutions. Built with modern web technologies and designed for scalability.
- Web-Based Service Request Portal - Clean, intuitive interface for submitting IT issues
- Agile Kanban Board - Drag-and-drop ticket management with real-time status updates
- Basic Notification System - Automated email notifications for ticket updates
- Foundational Database Schema - Robust data structure for users, tickets, and comments
- AI Auto-Categorization - Machine learning-powered issue classification
- AI-Powered Solution Suggestions - Intelligent recommendations based on historical data
- Priority Assignment - Automated priority level suggestions
- Advanced Search & Filtering - Powerful query capabilities
- Monitoring Tool Integration - Connect with Datadog, Grafana, Zabbix
- Predictive Issue Creation - Proactive ticket generation based on system metrics
- Automated Remediation Workflows - Self-healing capabilities for common issues
- React 18 - Modern UI library with hooks and context
- React Router - Client-side routing
- Tailwind CSS - Utility-first CSS framework
- @dnd-kit - Accessible drag-and-drop functionality
- React Hook Form - Form handling and validation
- React Hot Toast - User notifications
- Node.js - JavaScript runtime
- Express.js - Web application framework
- PostgreSQL - Relational database
- JWT - Authentication and authorization
- bcryptjs - Password hashing
- Nodemailer - Email notifications
- OpenAI GPT - AI integration for categorization
- Helmet - Security headers
- CORS - Cross-origin resource sharing
- Express Rate Limit - API rate limiting
- Joi - Data validation
- Winston - Logging
- Node.js 18+
- PostgreSQL 13+
- npm or yarn
- Git
git clone https://github.com/yourusername/smart-it-tracker.git
cd smart-it-tracker# Install root dependencies
npm install
# Install server dependencies
cd server && npm install
# Install client dependencies
cd ../client && npm install# Create PostgreSQL database
createdb smart_it_tracker
# Or using psql
psql -U postgres
CREATE DATABASE smart_it_tracker;# Copy environment templates
cp server/env.example server/.env
cp client/env.example client/.envServer Environment Variables (server/.env):
# Database Configuration
DB_HOST=localhost
DB_PORT=5432
DB_NAME=smart_it_tracker
DB_USER=your_database_username
DB_PASSWORD=your_database_password
# JWT Secret (generate a strong secret)
JWT_SECRET=your_jwt_secret_key
# Email Configuration (SMTP)
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_USER=your_email@domain.com
SMTP_PASS=your_email_password
# OpenAI API Key
OPENAI_API_KEY=your_openai_api_key
# Server Configuration
PORT=5000
NODE_ENV=development
CLIENT_URL=http://localhost:3000Client Environment Variables (client/.env):
REACT_APP_API_URL=http://localhost:5000/apicd server
npm run migrate# Start both servers concurrently
npm run dev
# Or start individually
npm run server # Backend on port 5000
npm run client # Frontend on port 3000- Frontend: http://localhost:3000
- Backend API: http://localhost:5000/api
- API Health Check: http://localhost:5000/api/health
| Role | Password | |
|---|---|---|
| Admin | admin@company.com | admin123 |
| Agent | agent@company.com | agent123 |
| User | user@company.com | user123 |
POST /api/auth/login
Content-Type: application/json
{
"email": "admin@company.com",
"password": "admin123"
}# Get all tickets
GET /api/tickets
# Create ticket
POST /api/tickets
{
"title": "Network Issue",
"description": "Unable to connect to internet",
"priority": "high"
}
# Update ticket
PUT /api/tickets/:id
{
"status": "in_progress",
"assigneeId": 2
}# Get all users
GET /api/users
# Get agents
GET /api/users/agentssmart-it-tracker/
โโโ client/ # React frontend
โ โโโ public/
โ โโโ src/
โ โ โโโ components/ # Reusable UI components
โ โ โโโ pages/ # Page components
โ โ โโโ services/ # API services
โ โ โโโ context/ # React context providers
โ โ โโโ utils/ # Utility functions
โ โโโ package.json
โโโ server/ # Node.js backend
โ โโโ config/ # Database configuration
โ โโโ middleware/ # Express middleware
โ โโโ routes/ # API routes
โ โโโ services/ # Business logic
โ โโโ scripts/ # Database scripts
โ โโโ package.json
โโโ docs/ # Documentation
โโโ tests/ # Test files
โโโ setup.sh # Linux/Mac setup script
โโโ setup.bat # Windows setup script
โโโ README.md
# Run all tests
npm test
# Run server tests
cd server && npm test
# Run client tests
cd client && npm test# Build client
cd client && npm run build
# Start production server
cd server && npm start# Build and run with Docker Compose
docker-compose up -d- Connect your GitHub repository to Render
- Create a new Static Site service
- Configure the service:
- Root Directory: Leave empty (or set to
.) - Build Command:
cd client && npm install && chmod +x node_modules/.bin/react-scripts && CI=false npx react-scripts build - Publish Directory:
client/build - Environment Variables:
REACT_APP_API_URL:https://your-backend-url.onrender.com/api
- Root Directory: Leave empty (or set to
- Deploy - Render will automatically build and deploy your frontend
Your frontend will be available at: https://your-app-name.onrender.com
Note: This deploys only the frontend. You'll need a separate backend API running elsewhere.
- Create a PostgreSQL database on Render first
- Create a new Web Service on Render
- Configure the service:
- Root Directory:
server - Build Command:
npm install - Start Command:
npm start - Environment Variables:
DB_HOST: Your PostgreSQL database hostDB_PORT:5432DB_NAME:smart_it_trackerDB_USER: Your database usernameDB_PASSWORD: Your database passwordJWT_SECRET: Your JWT secret keySMTP_HOST:smtp.gmail.comSMTP_PORT:587SMTP_USER: Your emailSMTP_PASS: Your email passwordOPENAI_API_KEY: Your OpenAI API keyNODE_ENV:productionCLIENT_URL:https://your-frontend-url.onrender.com
- Root Directory:
- Deploy - Render will automatically build and deploy your backend
- Run database migration using Render Shell:
npm run migrate
Your backend will be available at: https://your-backend-name.onrender.com
- Set
NODE_ENV=production - Use strong JWT secrets
- Configure production database
- Set up proper SMTP credentials
- Configure OpenAI API key
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow ESLint configuration
- Write tests for new features
- Update documentation
- Follow conventional commit messages
This project is licensed under the MIT License - see the LICENSE file for details.
- OpenAI for AI categorization capabilities
- React Team for the amazing frontend framework
- PostgreSQL for robust database functionality
- Tailwind CSS for beautiful, responsive design
- @dnd-kit for accessible drag-and-drop functionality
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Q1 2024: Slack/Teams bot integration
- Q2 2024: Mobile app development
- Q3 2024: Advanced analytics dashboard
- Q4 2024: Multi-tenant architecture
- Q1 2025: Machine learning model training
- Q2 2025: Advanced automation workflows
Built with โค๏ธ for modern IT teams
Streamline your IT operations with intelligent automation and seamless user experience.