/chit-chat-ai

ChitChat, a messenger app built with the help of OpenAI.

Primary LanguageJavaScriptGNU General Public License v3.0GPL-3.0

Contributors Forks Stargazers Issues MIT License LinkedIn


Logo

ChitChat

Chat App with OpenAI Support Bot
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact

About The Project

product

ChitChat, a chat app that leverages the power of OpenAI's GPT-based technology to provide a unique messaging experience. With dynamic messaging, attachments, and innovative AI-enhancements, ChitChat offers a versatile platform for personal and professional interactions. Join us in redefining conversations and download ChitChat today for a more engaging and memorable messaging experience.

(back to top)

Built With

  • React
  • React Router
  • Redux
  • Node.js
  • Sass
  • Express
  • Vercel
  • Auth0

(back to top)

Getting Started

Built from scratch, this project contains a backend and a frontend denoted by the "server" and "client" folders respectively. To get a local copy up and running, follow these steps.

Backend

  1. Create an account with OpenAI and obtain a key. After sign up, it'll show you your API key, OPENAI_API_KEY. Make sure to copy it to your .env as they will only show you this key once.

    • The free trial provides you with $5 credit in using their services (which is more than enough). Please know that this credit expires in 3 months.
  2. Sign up for a Chat Engine accout to obtain the PROJECT_ID and PRIVATE_KEY.

  3. Clone the repo

    git clone https://github.com/HelenGezahegn/chit-chat-ai.git
  4. Install NPM packages

    cd server
    npm install
  5. Create a .env file in the server directory. Add the port, OpenAI, and Chat Engine keys.

    PORT = 1337;
    OPENAI_API_KEY=...
    
    # Chat Engine
    PROJECT_ID=...
    PRIVATE_KEY=...
    
    # SupportBot
    BOT_USER_NAME=...
    BOT_USER_SECRET=...
  6. Run it!

    npm run start

Frontend

In another terminal:

  1. Sign up for an Auth0 account to obtain the VITE_AUTH0_CLIENT_ID and VITE_AUTH0_DOMAIN and use their universal login screen.

  2. Install NPM packages

    cd client
    npm install
  3. Create a .env.local file in the client directory. Add VITE_ in front of all keys in order to be read by vite.

      VITE_BASE_URL=...
    
      # Chat Engine
      VITE_PROJECT_ID=...
    
      # Auth0
      VITE_AUTH0_CLIENT_ID=...
      VITE_AUTH0_DOMAIN=...
  4. Run it! Open http://localhost:5173 to view it in your browser. This page will reload when you make changes and display lint errors in the console.

    npm run dev

(back to top)

Usage

Demo video coming soon.

(back to top)

Roadmap

  • Update styling
  • Add Auth0
    • Add logout
  • Automate SupportBot chat creation after signup
  • Fix double refresh
  • Call Auth0 to add favicon to login/signup screens
  • Make it responsive/mobile-friendly

See the open issues for a full list of proposed features (and known issues).

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contact

Helen Gezahegn

LinkedIn

gezahegn@ualberta.ca

Project Link:

(back to top)