Skip to content

Shixin-Tang/AI-Chatbot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Proposal for AI Chatbot Development Project

Description

We're planning to create an AI chatbot similar to ChatGPT, using a combination of technologies known as the MERN stack (MongoDB, Express, React, Node.js), and we'll also be using TypeScript for static typing. This project isn't just a chance to learn and apply the MERN stack; it's also an opportunity to dive deeper into how to securely handle user logins, protect chat histories, and connect with OpenAI. Our goal is to build a secure, scalable, and feature-rich online service platform.

Technology Stack

  • MongoDB: A NoSQL database for storing user chats and session information securely.
  • Express.js: A web application framework for Node.js to handle HTTP requests and middleware integration.
  • React.js: A front-end JavaScript library for building the user interface, particularly the chat UI.
  • Node.js: A JavaScript runtime environment for the backend server.
  • TypeScript: A superset of JavaScript for adding static type definitions.
  • Material UI: A React UI framework for designing elegant and responsive user interfaces.
  • Vite: A modern frontend build tool for React applications, ensuring fast development and build times.
  • JWT (JSON Web Tokens): For secure user authentication and authorization tokens.
  • HTTP Only Cookies: To securely transmit authentication information.
  • Axios: A promise-based HTTP client for making requests from node.js and frontend.

Functional Requirements

Robust User Authentication System:

  • The chatbot must feature a comprehensive user authentication system supporting secure login, registration, and session management. This system should utilize JWT for authorization tokens and HTTP only cookies to ensure security and a seamless user experience.

Real-time Chat Functionality:

  • Implement a real-time chat interface where users can interact with the AI chatbot. The system should be capable of understanding and responding to user queries accurately and efficiently, leveraging OpenAI's GPT model for generating responses.

Secure Chat Storage:

  • All user interactions with the chatbot should be securely stored in MongoDB, ensuring data integrity and privacy. This includes implementing proper data validation techniques with express-validators middleware to prevent common vulnerabilities.

Elegant and Responsive UI Design:

  • Utilizing React and Material UI, the project should deliver a modern, elegant chat interface that is fully responsive across devices. The design should focus on user experience, with intuitive navigation and a clean, attractive aesthetic.

Integration with OpenAI:

  • The backend, built with Node.js and Express, should integrate seamlessly with OpenAI to process and respond to user queries. This involves setting up secure API calls and managing responses to enhance the chatbot's functionality.

Final application Snapshots

These are the snapshots of the final application.

Home Page

Home Page

Signup Page

Signup Page

Login Page

Home Page

Chats Page

Chats Page

About

An Ai chatbot, ChatGPT clone

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages