A modern, full-stack social platform featuring real-time chat, video calling, and a rich user experience. Built with a robust tech stack and best practices, Streamify is designed for scalability, reliability, and ease of use.
- Node.js & Express: Backend server and RESTful API development
- MongoDB: Flexible, scalable NoSQL database
- React: Fast, component-based frontend
- TanStack Query: Efficient data fetching and caching
- Tailwind CSS: Utility-first, customizable styling
- Secure login and signup flows using JSON Web Tokens
- Protects user data and sessions
- Ensures only authenticated users can access sensitive features
- Guided onboarding for new users
- Smooth introduction to platform features
- Personalized setup for a tailored experience
- Add, remove, and manage friends
- View friends’ statuses and profiles
- Real-time updates on friend activities
- Instant messaging with friends
- Typing indicators and message status
- Scalable WebSocket-based communication
- One-on-one and group video calls
- High-quality, low-latency streaming
- Seamless integration with chat and friends system
- Extensive theme selection for personalization
- Light, dark, and colorful options
- Instantly switch themes for a unique look
- Route guards to prevent unauthorized access
- Ensures only eligible users can view certain pages
- Integrated with authentication system
- Modular, reusable React hooks for state and logic
- Clean, maintainable codebase
- Follows industry best practices for scalability
- Comprehensive endpoint testing for reliability
- Automated and manual tests to ensure robustness
- Easy to extend and maintain test suite
- Production-optimized builds for client and server
- Environment configuration for seamless deployment
- Ready for cloud hosting and scaling
- Clone the repository:
git clone https://github.com/yourusername/streamify.git
- Install dependencies:
cd streamify npm install cd client && npm install cd ../server && npm install
- Configure environment variables:
- Create
.envfiles in bothclientandserverdirectories as needed.
- Create
- Run the development servers:
- For the backend:
cd server npm run dev - For the frontend:
cd client npm run dev
- For the backend:
Contributions are welcome! Please open issues or submit pull requests for improvements and bug fixes.
This project is licensed under the MIT License.