Smart AI Ticket Assistant ποΈπ€
A full-stack MERN application that automates ticket management using AI-powered workflows and Inngest event-driven functions. The project supports user authentication, ticket creation, AI-based ticket analysis, and automated email notifications.
π Features
π Authentication β Signup/Login using JWT
ποΈ Ticket Management β Create and track support tickets
π€ AI-Powered Assistance β Classify, assign, and add notes to tickets using AI
π© Email Notifications β Sends welcome emails and ticket updates
β‘ Event-Driven Workflows β Uses Inngest for reliable async event handling
πΊοΈ Full-Stack MERN β React + Node.js + Express + MongoDB
π οΈ Tech Stack
Frontend: React (Vite, Tailwind, DaisyUI)
Backend: Node.js, Express
Database: MongoDB
Event System: Inngest
AI Integration: Custom AI utility (via Gemini)
Auth: JWT-based
Deployment:
Frontend β Vercel
Backend β Render
smart-ai-ticket-assistant/ β βββ ai-ticket-assistant/ # Backend β βββ controllers/ # Auth & ticket controllers β βββ inngest/ # Inngest client & event functions β βββ middlewares/ # Auth middleware β βββ models/ # Mongoose models (User, Ticket) β βββ routes/ # API routes β βββ utils/ # Helpers (Mailer, AI) β βββ index.js # Express server entry β βββ .env # Backend environment variables β βββ ai-ticket-frontend/ # Frontend β βββ src/ β β βββ components/ # Navbar, Auth check β β βββ pages/ # Login, Signup, Tickets, Admin β β βββ App.jsx # Routes β β βββ main.jsx # React entry β βββ public/ # Static assets β βββ vite.config.js # Vite config β βββ .env # Frontend environment variables β βββ .gitignore βββ README.md
yaml Copy code
git clone https://github.com/ankitsharma101/smart-ai-ticket-assistant.git
cd smart-ai-ticket-assistant
2. Backend Setup
bash
Copy code
cd ai-ticket-assistant
npm install
Create a .env file inside ai-ticket-assistant/:
env
Copy code
PORT=5000
MONGO_URL=your_mongo_connection_string
JWT_SECRET=your_secret_key
INNGEST_EVENT_KEY=your_inngest_event_key
EMAIL_USER=your_email
EMAIL_PASS=your_email_password
Run backend:
bash
Copy code
npm start
Or with Inngest dev:
bash
Copy code
npx inngest dev --sdk-url=http://localhost:5000/api/inngest
vbnet
Copy code
β
This will now render perfectly with **code blocks, tree structure, and .env example**.
Do you want me to also **fix the frontend setup section** in the same way (with clean Markdown formatting)?
3. Frontend Setup
cd ai-ticket-frontend
npm install
Create .env:
VITE_SERVER_URL=http://localhost:5000
Run frontend:
npm run dev
π Deployment
Frontend (Vercel): Connect ai-ticket-frontend/ to Vercel
Backend (Render): Deploy ai-ticket-assistant/ on Render
Ensure all .env variables are configured in deployment dashboards
π§ͺ Testing
Signup a new user β triggers onUserSignup event β sends welcome email
Create a new ticket β triggers onTicketCreated event β AI assigns ticket & adds notes
View tickets on frontend β should display assigned moderator & status
π Future Improvements
Google OAuth integration
Admin dashboard with analytics
Priority-based ticket routing
File upload support for tickets
π¨βπ» Author
Ankit Sharma
MERN Stack Developer | AI Enthusiast