Application created with NextJs, TailwindCSS, Typescript, Firebase for Google-Authentication & Realtime Database, Vercel SWR for Data Fetching and ChatGPT API.
-
Google Login/Signup: Seamlessly sign in or sign up using your Google account for a hassle-free user experience.
-
Firebase Firestore: A flexible, scalable database for mobile, web, and server development from Firebase and Google Cloud Platform. It provides real-time data synchronization and offline support, making it ideal for building responsive and collaborative applications.
-
Active Side Navigation: Easily switch between previous chats and create new ones with the user-friendly sidebar.
-
Log Out Button: Conveniently located at the bottom of the sidebar, the log-out button allows you to sign out with a single click.
-
Interactive Input Bar: Experience an input bar that mimics the original ChatGPT, ensuring an engaging and familiar chat interface.
-
Real-time Updates: Stay informed with real-time data fetching using React-hot-toast notifications, keeping you up-to-date with the latest information.
-
ChatGPT API Integration: Engage in real-time interactions with the ChatGPT API, enabling dynamic and responsive conversations.
This project was uses the following technologies -
- NextJs
- TypeScript
- Open AI
- TailwindCSS & heroicons (for user interface)
- React-hot-toast (for notifications)
- FirebaseAuth & NextAuth (for authentication)
- SWR (for response fetching)
- Firebase (cloud firestore)
- vercel (for hosting)
cd NeptuneGPT
Install packages:
yarn install
To run this project, you will need to add the following environment variables to your .env file
CHAT_GPT_KEY
NEXTAUTH_URL
NEXT_PUBLIC_BASE_URL
GOOGLE_CLIENT_ID
GOOGLE_CLIENT_SECRET
FIREBASE_SERVICE_ACCOUNT_KEY
NEXT_PUBLIC_FIREBASE_APP_ID
NEXT_PUBLIC_FIREBASE_API_KEY
NEXT_PUBLIC_FIREBASE_PROJECT_ID
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID
Build project:
npm run dev
Open your browser at:
http://localhost:3000
This is a Next.js project bootstrapped with create-next-app
.
First, run the development server:
yarn dev
# or
npm run dev
# or
pnpm dev
Open http://localhost:3000 with your browser to see the result.
You can start editing the page by modifying app/page.tsx
. The page auto-updates as you edit the file.