π Project Structure bash Copy Edit FullStack AI Agent/ βββ ai ticket assistant/ # Backend (Node.js + Express) βββ ai-ticket-frontend/ # Frontend (React + Vite) βββ README.md
β¨ Features π§Ύ User authentication and role-based access (Admin, Moderator, User)
π Ticket submission and tracking system
π― Role-specific views:
Admin: View all tickets
Moderator: View and respond to assigned tickets
User: View own tickets
π€ AI enhancements:
Auto-generates helpful notes
Estimates priority and required skills
π Environment variables handled securely with .env
π Getting Started
- Clone the repository bash Copy Edit git clone https://github.com/Isaac-Johnn/ai-ticket-assistant.git cd ai-ticket-assistant
- Setup Backend bash Copy Edit cd "ai ticket assistant" npm install cp .env.example .env # Set your environment variables npm start
- Setup Frontend bash Copy Edit cd ../ai-ticket-frontend npm install cp .env.example .env # Set your VITE_ environment variables npm run dev
π Environment Variables Create .env files in both ai ticket assistant and ai-ticket-frontend. Make sure to add:
Backend (ai ticket assistant/.env) ini Copy Edit PORT=5000 MONGO_URI=your_mongodb_uri JWT_SECRET=your_jwt_secret OPENAI_API_KEY=your_openai_key Frontend (ai-ticket-frontend/.env) bash Copy Edit VITE_API_URL=http://localhost:5000/api
π οΈ Tech Stack Frontend:
React + Vite
Axios
React Router
Backend:
Node.js + Express
MongoDB + Mongoose
JSON Web Tokens (JWT)
Inngest (for background job processing)
OpenAI API
π¦ Folder Breakdown Backend (ai ticket assistant) controllers/: Ticket & user logic
routes/: API endpoints
models/: Mongoose schemas
utils/: Mailer and AI logic
middlewares/: Auth middleware
inngest/: Event-driven background jobs
Frontend (ai-ticket-frontend) pages/: Route-level components
components/: Reusable UI elements
assets/: Icons and styles
π§ͺ Future Improvements Admin dashboard analytics
Chat-based ticket updates
File attachments
Slack/email integrations
Full testing suite
FullStack AI Agent
ββ ai ticket assistant
β ββ .env
β ββ controllers
β β ββ ticket.js
β β ββ user.js
β ββ index.js
β ββ inngest
β β ββ client.js
β β ββ functions
β β ββ on-signup.js
β β ββ on-ticket-create.js
β ββ middlewares
β β ββ auth.js
β ββ models
β β ββ ticket.js
β β ββ user.js
β ββ package-lock.json
β ββ package.json
β ββ routes
β β ββ ticket.js
β β ββ user.js
β ββ utils
β ββ ai.js
β ββ mailer.js
ββ ai-ticket-frontend
β ββ .env
β ββ eslint.config.js
β ββ index.html
β ββ package-lock.json
β ββ package.json
β ββ public
β β ββ vite.svg
β ββ README.md
β ββ src
β β ββ assets
β β β ββ react.svg
β β ββ components
β β β ββ check-auth.jsx
β β β ββ navbar.jsx
β β ββ index.css
β β ββ main.jsx
β β ββ pages
β β ββ admin.jsx
β β ββ login.jsx
β β ββ signup.jsx
β β ββ ticket.jsx
β β ββ tickets.jsx
β ββ vite.config.js
ββ README.md