- About The Project
- Key Features
- Tech Stack
- Getting Started
- Usage
- Roadmap
- Contributing
- License
- Contact
Nexus is a reimagined messaging experience designed for the modern web. Gone are the days of cluttered interfaces and slow connections. Nexus combines the speed of Convex's real-time database with the power of OpenAI to create a chat application that is not only fast but intelligent.
Whether you're catching up with friends via crystal-clear video calls powered by ZegoCloud, or generating creative images mid-conversation with DALL-E, Nexus serves as the central hub for your digital life.
- Zero Latency: State-of-the-art real-time updates.
- Privacy First: Secure authentication and data handling.
- Aesthetic Focus: A "Deep Space" dark mode that is easy on the eyes and visually stunning.
| Feature | Description |
|---|---|
| 💬 Real-time Chat | Instant messaging with live typing indicators and read receipts. |
| 🤖 AI Assistant | Integrated GPT-3.5 chatbot for answering queries and providing summaries. |
| 🎨 AI Image Gen | Generate images on the fly using DALL-E 3 directly within your chat window. |
| 🎥 Video Calls | One-click high-definition video and voice calls. |
| 👥 Group Chats | seamless group creation with admin controls and media sharing. |
| 🔒 Secure Auth | Robust authentication flow handled by Clerk. |
| 📱 Responsive | Optimized for Desktop, Tablet, and Mobile experiences. |
This project is built using the T3 Stack philosophy, ensuring type safety and scalability.
- Framework: Next.js 14 (App Router)
- Language: TypeScript
- Database & Backend: Convex (Real-time DB + Serverless Functions)
- Authentication: Clerk
- Styling: Tailwind CSS + Shadcn UI
- Communication: ZegoCloud (WebRTC)
- State Management: Zustand
- AI Integration: OpenAI API
Follow these steps to set up Nexus locally on your machine.
- Node.js (v18.17 or higher)
- npm or bun
-
Clone the repository
git clone https://github.com/your-username/nexus.git cd nexus -
Install dependencies
npm install
-
Start the Backend (Convex)
npx convex dev
This will prompt you to log in to Convex and create a new project.
-
Start the Frontend (Open a new terminal)
npm run dev
Create a .env.local file in the root directory and configure the following:
# Deployment
CONVEX_DEPLOYMENT=generated_by_convex
NEXT_PUBLIC_CONVEX_URL=generated_by_convex
# Authentication (Clerk)
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_test_...
CLERK_SECRET_KEY=sk_test_...
# AI (OpenAI)
OPENAI_API_KEY=sk-...
# Video Calls (ZegoCloud)
ZEGO_APP_ID=123456789
ZEGO_SERVER_SECRET=your_secret_here- Rebranding to Nexus
- Dark Mode "Deep Space" Theme
- Voice Notes Support
- File Attachments (PDF, Docs)
- Message Encryption
- Mobile Native App (React Native)
See the open issues for a full list of proposed features.
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.
Your Name - @yourtwitter - email@example.com
Project Link: https://github.com/RohitBit-25/nexus