Chatbot Application

This project is a chatbot application built with Node.js for the backend and EJS for rendering the frontend. The chatbot uses a JSON file to store predefined messages and returns responses based on user input. It showcases how server-side logic can handle user interactions, dynamically rendering responses in the browser.

Chatbot Application Overview

Note: The chatbot is hosted on free-tier services, so there may be a brief delay when loading the demo. Please be patient while it starts up.

Key Features

  • Backend built with Node.js
  • Dynamic frontend rendered using EJS templates
  • Predefined chatbot responses stored in a JSON file
  • Message matching logic with fallback responses for unrecognized inputs
  • Smooth integration of frontend and backend logic

Technologies Used

  • Node.js (Backend)
  • EJS (Templating Engine for Frontend)
  • JavaScript (Frontend Logic)
  • Express (Web Framework)
  • JSON (Chatbot Message Data)
  • CSS for styling
  • Deployed on Netlify/Heroku

Challenges and Solutions

A key challenge was integrating the EJS templates with dynamic responses from the backend, ensuring smooth real-time interaction between user input and the predefined chatbot messages. This was solved by using Express and EJS together for efficient server-side rendering and dynamic response generation.

Future Improvements

Reflection

Working on this project deepened my understanding of server-side rendering with Node.js and EJS, and how to handle user input dynamically with JSON data. It was a great exercise in backend development, and I look forward to further improving the chatbot’s intelligence and responsiveness.