Streamify is a real-time chat messaging and video calling platform tailored for social peer learning, language exchange, and community building. Users can chat, call, and collaborate in public or private groups with a clean, modern interface.
- ✅ Secure Authentication (JWT via HTTP-only cookies)
- 💬 1-on-1 & Group Messaging with Stream Chat
- 📞 Video Calls using Stream Video SDK
- 📁 Group Creation and Join Requests
- 🧭 Onboarding flow for new users
- 🔄 Real-time messaging & calls
- 🎨 Light/Dark theme toggle
- 📱 Fully responsive on mobile & desktop
- React.js, React Router
- Tailwind CSS, DaisyUI
- React Query
- Stream Chat & Video SDK
- Vite, Toast Notifications
- Node.js + Express.js
- MongoDB + Mongoose
- JWT Auth (via cookies)
- CORS, Cookie-parser
- RESTful APIs
streamify/ ├── frontend/ # React client │ ├── src/ │ ├── public/ │ └── ... ├── backend/ # Express server │ ├── controllers/ │ ├── models/ │ ├── middleware/ │ ├── routes/ │ └── server.js └── README.md
git clone https://github.com/yourusername/streamify.git
cd streamifycd backend
npm installCreate a .env file:
PORT=
MONGO_URI=
JWT_SECRET_KEY=
STEAM_API_KEY=
STEAM_API_SECRET=Start backend server:
nodemon server.jscd frontend
npm installStart frontend portal:
npm run devFrontend: Vercel Backend: Render
Important Deployment Notes:
Set CORS with credentials: true and correct origins
Use secure: true and sameSite: 'lax' in cookie options
Proxy or .env config for frontend API calls in production
Practice spoken languages with peer learners
Create/join discussion groups and schedule video calls
Build focused communities around learning or interests
Conduct group projects with real-time chat & calls
Pull requests and feedback are welcome! Want to improve UI, performance, or add features? Fork the repo and send a PR.
📧 Email: prakharshri2005@gmail.com