CodeMate is an application designed to connect developers and facilitate collaboration. With CodeMate, you can find and join rooms, share your screen, send messages, and reply to each other, enhancing your coding experience and productivity.
- Find and Join Rooms: Easily browse and join rooms for collaboration.
- Screen Sharing: Share your screen with room participants to demonstrate code or collaborate on projects.
- Real-time Messaging: Send messages instantly and engage in real-time conversations.
- Threaded Replies: Reply to specific messages to keep discussions organized and coherent.
Check out the live application here: CodeMate Live
- Frontend: Next.js, Tailwind CSS, ShadCN UI
- Backend: Node.js, Drizzle ORM, PostgreSQL
- Real-time Communication: WebSockets, GetStream API
- Authentication: Next-Auth
Follow these steps to set up and run CodeMate locally.
- Node.js v20.10.0 or higher
- PostgreSQL database
-
Clone the repository:
git clone https://github.com/your-username/codemate.git cd codemate
-
Install dependencies:
npm install
-
Set up the environment variables:
Create a
.env.local
file in the root of your project and add the following:DATABASE_URL=postgresql://username:password@localhost:5432/codemate NEXTAUTH_URL=http://localhost:3000 NEXTAUTH_SECRET=your_nextauth_secret GOOGLE_CLIENT_ID= GOOGLE_CLIENT_SECRET= NEXT_PUBLIC_GET_STREAM_API_KEY= NEXT_PUBLIC_GET_STREAM_API_SECRET_KEY=
-
Run database migrations:
npx drizzle orm migrate
-
Start the development server:
npm run dev
-
Open your browser and visit
http://localhost:3000
.
We welcome contributions to CodeMate! To contribute:
- Fork the repository.
- Create a new branch:
git checkout -b feature/your-feature-name
. - Make your changes and commit them:
git commit -m 'Add some feature'
. - Push to the branch:
git push origin feature/your-feature-name
. - Open a pull request.
Happy Coding! 🚀