Visit : https://screenapp.io/app/#/shared/84236021-31c8-4766-91c8-5a63b222cc2b
Below are the implemented functionalities:
- Agent Portal:
-
API Integration:
- Created an API endpoint to send and receive customer messages.
- Messages can be submitted through a web form and are stored in the system.
-
Message Storage and Display:
- Customer service messages provided in a CSV file are stored in a chosen database.
- Messages are displayed in the agent portal for easy viewing and response.
- Agent Workload Management:
- Implemented a scheme to prevent multiple agents from working on the same message using status : unresolved | pending | resolved and using real-time typing notations.
- Search Functionality:
- Implemented a search feature allowing agents to search messages and customers.
- Customer Context:
- Provided agents with additional context by surfacing customer profiles and relevant internal information.
- Visible Customer Information : Email, Image, Name.
- Canned Responses:
- Incorporated a feature for agents to use pre-configured stock messages.
- Agents can quickly respond to common inquiries with predefined messages.
- Real-time Updates:
- Leveraged websockets to make the agent UI interactive and dynamic.
- New incoming messages appear in real time and notifications appears.
Postman (APIs Testing) :
Feel free to explore this application and its functionalities by following the steps mentioned in the README.
Note: The README instructions provided earlier in this document guide you on setting up and running the application on your local machine.
This project was built using the following technologies:
- TypeScript: A superset of JavaScript that adds static types to the language.
- React: A JavaScript library for building user interfaces.
- Node.js: A runtime environment for executing JavaScript on the server.
- Express.js: A minimal web application framework for Node.js.
- MongoDB: A NoSQL database for storing and managing data.
Feel free to explore the documentation of each technology for more information:
Before you begin, ensure you have met the following requirements:
-
Clone the repository:
git clone https://github.com/your-username/your-project.git
-
Navigate to the project directory:
cd your-project
-
Install frontend dependencies:
cd Frontend npm install
-
Install backend dependencies:
cd .. npm install
- Create a
.env
file in theserver
directory for environment variables:PORT=5000 MONGO_URI=mongodb://localhost:27017/your-database-name JWT_SECRET=YOUR_TOKEN_JWT NODE_ENV=production
Replace your-database-name
with the desired name for your MongoDB database.
- Start the MongoDB server:
- On Windows:
mongod
- On macOS or Linux:
sudo service mongod start
- Start the backend server:
cd server npm run start
The backend server will run on http://localhost:5000
.
- Start the frontend development server:
cd ../Frontend npm run dev
The frontend development server will run on http://localhost:5173
.
Access the application by opening your web browser and navigating to http://localhost:3000.
To shut down the application:
- Stop the frontend development server with
Ctrl + C
. - Stop the backend server with
Ctrl + C
. - Stop the MongoDB server:
- On Windows, close the
mongod
command prompt. - On macOS or Linux:
sudo service mongod stop