Skip to content

MoocFlix: A scalable, microservices-based MOOC streaming platform. Combining education with modern video streaming technology for an enhanced learning experience.

Notifications You must be signed in to change notification settings

iSparshP/moocflix

Repository files navigation

MoocFlix 🎓🎬

MOOCFLIX (2)

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

🌈 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 for more details.

📜 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgements


Made with ❤️ by the MoocFlix Team

About

MoocFlix: A scalable, microservices-based MOOC streaming platform. Combining education with modern video streaming technology for an enhanced learning experience.

Topics

Resources

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors