SendIM is a real-time chat application built with React, Express, and Socket.io. It allows users to create and join chat rooms for instant messaging. The app supports authentication via Supabase and features a dark mode toggle for a better user experience.
- Real-Time Messaging: Instant communication using Socket.io
- Chat Rooms: Users can create and join different chat rooms
- User Authentication: Email & Google OAuth authentication via Supabase
- Dark Mode: Toggle between light and dark themes
- Live Participants List: See active users in a chat room
- Mobile Responsive: Optimized for both desktop and mobile users
- Frontend: React.js (Vite), Tailwind CSS
- Backend: Express.js, Socket.io
- Database & Auth: Supabase
- Hosting: Vercel (Frontend), Supabase (Backend & Auth)
Make sure you have Node.js (v16+) and npm (or yarn) installed.
-
Clone the repository
git clone https://github.com/your-username/sendim.git cd sendim
-
Install dependencies
npm install # or yarn install
-
Create a
.env
file and configure SupabaseVITE_SUPABASE_URL=your-supabase-url VITE_SUPABASE_ANON_KEY=your-supabase-anon-key
-
Start the development server
npm run dev
The app will be available at http://localhost:3000
.
- Sign up or log in using email or Google OAuth.
- Enter a chat room and start messaging in real-time.
- Toggle dark mode for better visibility.
- View online participants in the room.
- Fork the repository
- Create a feature branch (
git checkout -b feature-name
) - Commit changes (
git commit -m 'Added a new feature'
) - Push to GitHub (
git push origin feature-name
) - Create a Pull Request
This project is licensed under the MIT License.
For any queries, feel free to reach out:
- Email: ramphilo@gmail.com
- GitHub: SpectureRam
- Live Demo: sendim.vercel.app
โญ Star this repo if you found it useful! โญ