Skip to content

The ChatGPT Web App is a web-based project that incorporates a variety of technologies, including React, Next.js 13, TypeScript, Tailwind CSS, Flexbox, Firebase, Google Authentication, NextAuth.js, useSWR, API endpoints in Next.js, OpenAI API.

Notifications You must be signed in to change notification settings

YingluDeng/chatgpt_webapp_v1.0

Repository files navigation

ChatGPT Clone Web App

image

The ChatGPT Clone is a web application that boasts a modern, responsive design and an advanced AI chatbot powered by OpenAI API and developed using TypeScript, React, and Tailwind CSS. It leverages Firebase V9 to enable secure, real-time chat functionality through API endpoints within the Next.js framework. To optimize data fetching, useSWR was implemented, while NextAuth for Firebase Google Authentication was used to ensure secure user access. Finally, the app was deployed on Vercel, providing high performance and scalability for its users.


Table of Contents


Tech Stack

Languages:

TypeScript JavaScript CSS3

Frameworks, Platforms and Libraries:

React Next JS TailwindCSS NodeJS NPM

Cloud Hosting/SaaS:

Firebase Google Cloud Vercel

Databases:

Firebase

(Back to top)


Application Features

Homepage

homepage recording

(Back to top)

Log In

login recording

(Back to top)

Log Out

login recording

(Back to top)

Create and Delete Chat

login recording

(Back to top)

Model Selection

login recording

(Back to top)

Notification Toast

login recording

(Back to top)

Send Message and Get Respond

login recording

(Back to top)


Getting Started

Start the server First, run the development server:

  npm run dev

This is a Next.js project bootstrapped with create-next-app.

Install dependencies This is a Next.js project bootstrapped with create-next-app.

Open http://localhost:3000 with your browser to see the result.

You can start editing the page by modifying pages/index.js. The page auto-updates as you edit the file.

API routes can be accessed on http://localhost:3000/api/hello. This endpoint can be edited in pages/api/hello.js.

The pages/api directory is mapped to /api/*. Files in this directory are treated as API routes instead of React pages.

Learn More

To learn more about Next.js, take a look at the following resources:

You can check out the Next.js GitHub repository - your feedback and contributions are welcome!

Deployment

To deploy this project run

Deploy on Vercel

The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.

Check out our Next.js deployment documentation for more details.

Install dependencies

https://github.com/YingluDeng/chatgpt_webapp_v1.0/blob/main/package.json

Install tailwind css with next.js

npx create-next-app -e with-tailwindcss [proj_name]

Local Environment Variables for .env.local

GOOGLE_ID 
GOOGLE_SECRET 
OPENAI_API_KEY 
FIREBASE_SERVICE_ACCOUNT_KEY

(Back to top)


Useful Resource

Frontend:

πŸ”— Flexbox: A game for learning CSS flexbox.
πŸ”— Icon: Beautiful hand-crafted SVG icons, by the makers of Tailwind CSS.
πŸ”— Avatar: Generate avatars with initials from names.
πŸ”— Notification: Add beautiful notifications to your React app with react-hot-toast.
πŸ”— Text tool: Remove line breaks online tool.
πŸ”— Selection Box: A flexible and beautiful Select Input control for ReactJS with multiselect, autocomplete, async and creatable support.

Backend:

πŸ”— Authentication: NextAuth.js is a complete open-source authentication solution for Next.js applications.
πŸ”— Real-time Database: The Firebase Realtime Database is a cloud-hosted database. Data is stored as JSON and synchronized in realtime to every connected client.
πŸ”— React Firebase Hooks: A set of reusable React Hooks for Firebase..
πŸ”— useSWR: React Hooks for Data Fetching.
πŸ”— Vercel CLI: Manage and configure your Vercel Projects from the command line.

(Back to top)


Developer

Cecilia Deng - https://www.linkedin.com/in/yinglu-cecilia-deng/
Project link - https://chatgpt-webapp-nv.vercel.app/


(Back to top)

About

The ChatGPT Web App is a web-based project that incorporates a variety of technologies, including React, Next.js 13, TypeScript, Tailwind CSS, Flexbox, Firebase, Google Authentication, NextAuth.js, useSWR, API endpoints in Next.js, OpenAI API.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published