https://github.com/ellipog/chat
https://github.com/ellipog/chat
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/ellipog/chat
- Owner: Ellipog
- Created: 2025-02-19T14:59:32.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-19T19:09:22.000Z (over 1 year ago)
- Last Synced: 2025-02-19T20:23:17.381Z (over 1 year ago)
- Language: TypeScript
- Size: 123 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Chat
[](https://nextjs.org/)
[](https://reactjs.org/)
[](https://www.typescriptlang.org/)
[](https://tailwindcss.com/)
[](https://www.mongodb.com/)
A modern chat application built with Next.js, featuring real-time communication, user authentication, and AI-powered interactions.
## ✨ Features
- 🔐 Secure user authentication with JWT and bcrypt
- 💬 Real-time chat functionality
- 🤖 AI integration with OpenAI
- 🎨 Modern UI with Tailwind CSS and Framer Motion
- 📱 Fully responsive design
- 🔍 Syntax highlighting for code snippets
- 🌐 MongoDB database integration
## 🛠️ Tech Stack
- **Frontend**: Next.js, React, TypeScript
- **Styling**: TailwindCSS, Framer Motion
- **Backend**: Next.js API Routes
- **Database**: MongoDB with Mongoose
- **Authentication**: JWT, bcryptjs
- **AI Integration**: OpenAI API
- **Package Manager**: npm/bun
## 🚀 Getting Started
1. **Clone the repository**
```bash
git clone https://github.com/Ellipog/chat.git
cd chat
```
2. **Install dependencies**
```bash
bun i
```
3. **Set up environment variables**
Create a `.env` file in the root directory with the following variables:
```env
MONGODB_URI=your_mongodb_uri
JWT_SECRET=your_jwt_secret
OPENAI_API_KEY=your_openai_api_key
OPENAI_MODEL=openai_model_name (e.g. gpt-4o-mini)
```
4. **Run the development server**
```bash
bun dev
```
Open [http://localhost:3000](http://localhost:3000) in your browser to see the application.
## 📁 Project Structure
```
├── app/ # Next.js app directory
│ ├── api/ # API routes
│ ├── layout.tsx # Root layout
│ └── page.tsx # Home page
├── components/ # Reusable React components
├── context/ # React context providers
├── lib/ # Utility functions and configurations
├── models/ # MongoDB models
├── public/ # Static assets
└── types/ # TypeScript type definitions
```
---
by Elliot