GatereBot is a ChatGPT-inspired project that leverages the OpenAI API for real-time natural language processing. It is built using NextJS, Tailwind CSS, OpenAI API, MongoDB and Mongoose for chat storage, React Markdown, Vercel AI SDK, and Next Auth for authentication.
- Utilizes NextJS and Tailwind CSS for a responsive and modern UI
- Real-time natural language processing using OpenAI API
- Chat storage in MongoDB with Mongoose
- User authentication with Next Auth
- Integration with Vercel AI SDK for enhanced functionality
- Supports rendering of React Markdown for rich content
- NextJS : React framework for server-side rendering and optimal performance.
- Tailwind CSS : A utility-first CSS framework for rapidly designing responsive web pages.
- OpenAI API : Enables real-time natural language processing for user interactions.
- MongoDB and Mongoose : NoSQL database and ODM for flexible data storage and modeling.
- React Markdown : Library for rendering Markdown content as React components.
- Vercel AI SDK : Integrates AI capabilities into the application deployed on Vercel.
- Next Auth : Authentication library for secure user access with social authentication providers.
-
Clone the repository:
git clone https://github.com/gateremark/gaterebot.git
-
Install dependencies:
cd gaterebot pnpm install
-
Set up environment variables. Create a
.env
file in the root of your project and add the following:NEXTAUTH_SECRET=replace_me GITHUB_ID=replace_me GITHUB_SECRET=replace_me GOOGLE_CLIENT_ID=replace_me GOOGLE_CLIENT_SECRET=replace_me OPENAI_API_KEY=replace_me MONGODB_URI=replace_me
-
Run the development server:
pnpm run dev
-
Open your browser and navigate to http://localhost:3000.
GatereBot is deployed using Vercel. Any changes pushed to the main branch will trigger an automatic deployment. You can visit the live version of gaterebot at https://gaterebot.vercel.app/.
Welcoming all contributions to improve the project! To contribute, please follow these steps:
-
Fork the repository.
-
Create a new branch for your feature:
git checkout -b feature-name
-
Make your changes and commit them:
git commit -m "Description of your changes"
-
Push your changes to your fork:
git push origin feature-name
-
Submit a pull request to the main branch of the original repository.