SmartAgent is a customer support ticket management application, paired with an AI assistant.
This is a 4-week collaborative final project by Gloria Lim and Sebastian Varon.
The goals of this project was to:
- Leverage all the skills and knowledge learned throughout Lighthouse Labs Web Development Bootcamp
- Practice creating functional requirements, user stories, and wireframes.
- Build an application from start to finish, created with React (frontend) and Ruby on Rails (backend).
To run this project locally, clone this repository and navigate to the root directory.
- Ruby version 3.3.0
- NodeJS >= 18.15.0
Notes on the AI Chatbot on the Landing page created with FlowiseAI:
- The FlowiseAI chatbot on the landing page was hosted on Railway during the project demonstration.
- The FlowiseAI configuration can be replicated by importing the json file in planning/FlowiseAI into your Flowise project. The accompanying text file is the input document for the Text File Loader.
- Please see .env.example file in /frontend for the secret keys setup for the connection to the FlowiseAI project.
-
Navigate to the /backend folder.
-
Run
bundle install
to install dependencies. -
Create config/database.yml by copying config/database.example.yml. Set up the database credentials in this file.
-
Run migrations with
bin/rails db:migrate
. -
If you want to recreate the database from scratch, run
bin/rails db:reset
to create, load and seed the database. Check step 3 if this returns an error. -
Run
bin/rails s -b 0.0.0.0
to start the server
-
Navigate to the /frontend folder.
-
Install dependencies by running
npm install
. -
Run
npm run dev
to start the frontend server. It will run on http://localhost:5173
SmartAgent has a landing page for Customers and SmartAgent users.
Customers can submit requests via the form on the landing page, or by emailing SmartAgent email directly.
There is also an AI chatbot on the landing page to assist with general questions regarding the SmartAgent application.
When a SmartAgent user is logged in, they can view the main application inbox:
Agents are able to chat within the application.
A SmartAgent user can transfer the ticket to another agent.
This is the ticket view.
The ticket notes can be viewed in the side panel that appears when you click on 'Ticket Notes'.
SmartAgents can send email responses directly in the ticket.
There is also a Dashboard with the SmartAgent's performance stats.