Skip to content

An application built with the help of openAI API to work like chatgpt

Notifications You must be signed in to change notification settings

sheeluofficial/talk-gpt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Talk-gpt


Introduction


Step into our cutting-edge chat platform, meticulously crafted with the powerful MERN (MongoDB, Express, React, Node.js) stack and integrated with OpenAI's Chat API. Engage in intelligent, natural conversations and experience the future of online communication. Our platform combines advanced technology and AI-driven interactions for a seamless and interactive chatting experience like chatGPT.

Tech Stack

MongoDB Express React Node.js Material-UI Mongoose CSS3 Js Typescript React-Router

Project Configuration Guide

Cloudinary Configuration

  • Cloudinary is used for image management and hosting. Follow these steps to configure Cloudinary for your project.

    • Create a Cloudinary account here.
    • Create a new Cloudinary project.
    • Go to the dashboard and copy the cloud name, API key, and API secret.

    MongoDB Configuration

    • MongoDB is used for storing data. Follow these steps to configure MongoDB for your project.
    • Create a MongoDB account here.
    • Create a new project and cluster.
    • Go to the dashboard and copy the connection string.
    • Go to .env file and save DB_LINK.

Installation

  1. Clone the repository:

    git clonehttps://github.com/sheeluofficial/talk-gpt
    cd talk-gpt
  2. Install dependencies:

    cd backend
    npm install
    cd ..
    cd client
    npm install
    cd ..
  3. a .env file inside the root backend folder and add the following:

    PORT = 5000
    DB_URI ="mongodb+srv:https://<username>:<password>@<cluster-url>/<database-name>?retryWrites=true&w=majority"
    JWT_SECRET = <jwt-secret-key>
    CORS_ORIGIN = http:https://localhost:5174
    OPEN_AI_API_KEY = <openai chat apikey>
    OPEN_AI_ORGANIZATION = <openai organization id>
    JWT_SECRET = secret
    COOKIE_DOMAIN = localhost
    
  4. Run the app:

    cd backend
    npm start
    cd client
    npm run dev

    Features

Normal User Mode

Feature Description
User Authentication OAuth with JWT for secure user login and registration
OpenAi Chat

Upcoming Features

Normal User Mode

Feature Description
Image generation Image generation through openAI image api
Email Drafting Assistant Email Drafting feature using openAI API
Resume/CV Builder Build ATS friendly resume by providing user info and JD

Dependencies and Libraries

Backend

Dependency Description
@babel/plugin-proposal-class-properties Babel plugin for class properties
bcryptjs Hash passwords before storing
body-parser Parse incoming request bodies
cookie-parser Parse Cookie header and populate req.cookies
cors Enable Cross-Origin Resource Sharing
dotenv Load environment variables from a .env file
express Web application framework for Node.js
jsonwebtoken Generate and verify JSON Web Tokens
jwt-simple Simple JWT encoding and decoding
mongoose MongoDB object modeling tool
nodemon Monitor for changes in source code and restart server
validator Validate and sanitize user input

Frontend

Dependency Description
@emotion/react Emotion library for writing CSS with JavaScript
@mui/material Material-UI components library
axios Promise-based HTTP client for the browser and Node.js
react JavaScript library for building user interfaces
react-hot-toast React component for customizable alerts
react-dom Entry point to the React DOM library
react-router-dom Routing library for React applications
react-scripts Create React apps with no build configuration
styled-components CSS-in-JS library for styling React components
react-syntax-highlighter For highlighting code syntax
react-type-animation Showing typing word animation

About

An application built with the help of openAI API to work like chatgpt

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published