Streamify is a real-time video calling and chat application built using the MERN Stack. It enables users to communicate through instant messaging and high-quality video calls while maintaining a modern UI and secure authentication system.
The platform includes a friends system, onboarding flow, real-time communication, and customizable UI themes, making it a complete full-stack communication application.
- 🔐 JWT Authentication – Secure login and signup system
- 📄 User Onboarding Flow – Guided setup for new users
- 👥 Friends System – Add and manage friends
- 💬 Real-Time Chat – Instant messaging between users
- 📹 Video Calling – High-quality video communication
- 🎨 32 UI Themes – Customizable interface themes
- 🚨 Protected Routes – Secure pages accessible only to authenticated users
- 🛠 Custom React Hooks – Reusable logic and clean architecture
- 🧪 API Testing – Reliable and tested backend endpoints
- 🚀 Deployment Ready – Structured for easy production deployment
- React.js
- TanStack Query
- Tailwind CSS
- Vite
- Node.js
- Express.js
- MongoDB
- JWT (JSON Web Token)
- Stream Video API
Streamify
│
├── backend
│ ├── node_modules
│ ├── src
│ ├── .env
│ ├── package.json
│
├── frontend
│ ├── dist
│ ├── node_modules
│ ├── public
│ ├── src
│ ├── .env
│ ├── index.html
│ ├── tailwind.config.js
│ ├── vite.config.js
│
├── helperLinks
│ └── links.txt
│
├── package.json
└── README.md
git clone https://github.com/your-username/streamify.git
cd streamify
cd backend
npm install
Create a .env file inside /backend and add:
PORT=5001
MONGO_URI=your_mongo_uri
STEAM_API_KEY=your_steam_api_key
STEAM_API_SECRET=your_steam_api_secret
JWT_SECRET_KEY=your_jwt_secret
NODE_ENV=development
CLOUDINARY_CLOUD_NAME=
CLOUDINARY_API_KEY=
CLOUDINARY_API_SECRET=
Run backend server:
npm run dev
Open a new terminal:
cd frontend
npm install
Create .env inside /frontend:
VITE_STREAM_API_KEY=your_stream_api_key
Run frontend:
npm run dev
Frontend will run on:
http://localhost:5173
Backend will run on:
http://localhost:5001
| Variable | Description |
|---|---|
| PORT | Backend server port |
| MONGO_URI | MongoDB connection string |
| STEAM_API_KEY | Stream API key |
| STEAM_API_SECRET | Stream API secret |
| JWT_SECRET_KEY | JWT authentication secret |
| NODE_ENV | Environment mode |
| Variable | Description |
|---|---|
| VITE_STREAM_API_KEY | Stream Video API key |
- Group video calling
- Screen sharing
- Message notifications
- File sharing support
- Mobile responsive improvements
Om Shukla
B.Tech Student – GL Bajaj Group of Institutions Full Stack Web Developer (MERN)
If you like this project, consider giving it a ⭐ on GitHub.