AI-powered ticketing and support system with automatic triage, skill tagging, and moderator assignment.
- User Authentication: Sign up, log in, and manage user roles (user, admin, moderator).
- Ticket Creation: Users can create support tickets with title and description.
- AI Ticket Triage: Each ticket is analyzed by an AI agent (Google Gemini) to:
- Summarize the issue
- Estimate priority (low, medium, high)
- Provide helpful notes for moderators
- Tag relevant technical skills
- Automatic Assignment: Tickets are auto-assigned to moderators/admins with matching skills.
- Email Notifications: Moderators receive email notifications when assigned a ticket.
- Admin Panel: Admins can view and manage all users and tickets.
- Modern UI: Built with React, TailwindCSS, and DaisyUI for a clean, responsive interface.
- Frontend: React, React Router, TailwindCSS, DaisyUI, Vite
- Backend: Node.js, Express, Mongoose (MongoDB), JWT Auth, Nodemailer
- AI Integration: Google Gemini via @inngest/agent-kit
- Workflow Orchestration: Inngest (local dev or cloud)
- Email: Gmail SMTP (or Mailtrap for dev)
- Node.js (v18+)
- MongoDB (local or cloud)
- Inngest CLI (for local dev)
- (Optional) Mailtrap or Gmail account for email notifications
Create .env
files in both backend/
and frontend/
as needed.
Example for backend/.env
:
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
GEMINI_API_KEY=your_gemini_api_key
GMAIL_USER=your_gmail_address@gmail.com
GMAIL_PASS=your_gmail_app_password
INNGEST_EVENT_KEY=your_inngest_event_key # (for cloud)
INNGEST_EVENT_URL=https://events.inngest.com/v1/your-app-id # (for cloud)
Example for frontend/.env
:
VITE_SERVER_URL=http://localhost:3000/api
Backend:
cd backend
npm install
npm run dev
Frontend:
cd frontend
npm install
npm run dev
Inngest Dev Server (for local AI workflows):
cd backend
npm run inngest-dev
- Visit
http://localhost:5173
(or your Vite dev port) to use the app. - Sign up, log in, and create tickets.
- Admins can access the
/admin
panel. - Moderators receive email notifications for assigned tickets.
- Deploy backend and frontend to your preferred platform (Vercel, Netlify, AWS, etc.).
- Use Inngest Cloud for production workflows (see Inngest docs).
- Set all environment variables in your deployment environment.
MIT