https://github.com/isparshp/moocflix
MoocFlix: A scalable, microservices-based MOOC streaming platform. Combining education with modern video streaming technology for an enhanced learning experience.
https://github.com/isparshp/moocflix
aws-s3 docker e-learning express ffmpeg kafka kubernetes microservices mongodb mooc nodejs postgresql video-streaming
Last synced: 6 months ago
JSON representation
MoocFlix: A scalable, microservices-based MOOC streaming platform. Combining education with modern video streaming technology for an enhanced learning experience.
- Host: GitHub
- URL: https://github.com/isparshp/moocflix
- Owner: iSparshP
- Created: 2024-10-15T12:51:29.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2024-10-18T22:09:41.000Z (12 months ago)
- Last Synced: 2024-10-19T13:13:57.401Z (12 months ago)
- Topics: aws-s3, docker, e-learning, express, ffmpeg, kafka, kubernetes, microservices, mongodb, mooc, nodejs, postgresql, video-streaming
- Language: JavaScript
- Homepage:
- Size: 200 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# MoocFlix ๐๐ฌ

MoocFlix is a cutting-edge MOOC (Massive Open Online Course) streaming platform that combines the power of education with the convenience of modern video streaming services. Built with a microservices architecture, MoocFlix offers a scalable and robust solution for online learning.
## ๐ Features
- ๐ Course Management
- ๐ฅ Video Streaming
- ๐ Assessment & Grading
- ๐ค User Management
- ๐ Real-time Video Transcoding## ๐๏ธ Architecture
MoocFlix is built using a microservices architecture, allowing for scalability and easier maintenance. Here's an overview of our main services:
### 1. User Management Service
Handles user authentication, authorization, and profile management.
Key Features:
- User registration and login
- JWT-based authentication
- Role-based access control (students, instructors, admins)
- Profile management### 2. Content Delivery Service
Manages video uploads, streaming, and transcoding.
Key Features:
- Video upload to AWS S3
- HLS/WebRTC streaming
- Kafka-based transcoding requests
- Caching with Redis### 3. Course Management Service
Handles course creation, updates, and student enrollments.
Key Features:
- Course CRUD operations
- Student enrollment
- Course catalog management### 4. Assessment Service
Manages quizzes, assignments, and grading.
Key Features:
- Quiz creation and submission
- Assignment management
- Auto-grading for objective questions### 5. Transcoding Service
Handles video transcoding for optimal streaming quality.
Key Features:
- FFmpeg-based video transcoding
- Multiple quality profiles
- Kafka-based job queue## ๐ Getting Started
(Add instructions on how to set up and run your project locally)
## ๐ ๏ธ Tech Stack
- Backend: Node.js with Express
- Databases: MongoDB, PostgreSQL, Redis
- Message Broker: Apache Kafka
- File Storage: AWS S3
- Authentication: JWT
- Video Processing: FFmpeg
- Containerization: Docker
- Orchestration: Kubernetes## ๐ System Architecture Diagram

## ๐ API Documentation
(Add links or embed your API documentation here)
## ๐งช Testing
Our project includes various levels of testing:
- Unit Tests
- Integration Tests
- End-to-End TestsTo run the tests:
bash
```
npm run test
```## ๐ค Contributing
We welcome contributions to MoocFlix! Please see our [Contributing Guide](CONTRIBUTING.md) for more details.
## ๐ License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## ๐ Acknowledgements
- [Express.js](https://expressjs.com/)
- [MongoDB](https://www.mongodb.com/)
- [PostgreSQL](https://www.postgresql.org/)
- [Apache Kafka](https://kafka.apache.org/)
- [FFmpeg](https://ffmpeg.org/)
- [Docker](https://www.docker.com/)
- [Kubernetes](https://kubernetes.io/)---
Made with โค๏ธ by the MoocFlix Team