An open API service indexing awesome lists of open source software.

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.

Awesome Lists containing this project

README

          

# MoocFlix ๐ŸŽ“๐ŸŽฌ

![MOOCFLIX (2)](https://github.com/user-attachments/assets/2685fa1e-2058-416a-8471-af8c968a6bb3)

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

![MoocFlix System Architecture](path/to/architecture/diagram.png)

## ๐ŸŒˆ 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 Tests

To 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