Skip to content
/ LMS Public

A microservices-based LMS with secure authentication, payment integration, AWS S3 storage, API Gateway, and Docker containerization for scalability, efficiency, and seamless course management.

Notifications You must be signed in to change notification settings

yesitha/LMS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

619cb21 · Mar 14, 2025

History

98 Commits
Dec 27, 2024
Mar 5, 2025
Jul 29, 2024
Jan 8, 2025
Dec 25, 2024
Jul 29, 2024
Dec 25, 2024
Mar 14, 2025
Jan 8, 2025
Jan 8, 2025
Jan 8, 2025
Mar 14, 2025
Dec 25, 2024
Mar 6, 2025
Jul 29, 2024
Aug 14, 2024
Aug 14, 2024
Dec 25, 2024
Aug 14, 2024
Sep 29, 2024
Sep 29, 2024

Repository files navigation

Learning Management System (LMS)

Overview

The LMS project is a microservices-based application designed to streamline learning and course management. It integrates various tools and technologies to ensure scalability, security, and efficiency.

Features

  • Payment Integration: Supports payments through PayHere.
  • Microservices Architecture: Built using Spring Cloud with centralized service discovery via Eureka.
  • API Gateway: Utilizes Spring Gateway for request routing and load balancing.
  • Authentication & Authorization: Secured with JWT token-based authentication and role-based access control.
  • Content Delivery Network (CDN): Uses AWS CloudFront with Signed URLs to restrict access by IP and provide time-limited links.
  • Storage Solutions:
    • AWS S3: Securely stores videos.
    • Nextcloud: Manages and stores other documents.
  • Containerization:
    • Docker images are created using the Maven Jib plugin.
    • GitHub Actions automate Docker image creation and push to DockerHub.
  • Orchestration: Configured with a Docker Compose file to simplify project setup and deployment.

Architecture

This project employs a microservices architecture with the following components:

  • Eureka Server: Centralized service registry for microservices.
  • Spring Gateway: Handles routing and authentication.
  • Multiple Microservices: Each handles specific functionalities, ensuring modularity and scalability.

Technologies Used

  • Backend: Spring Boot, Spring Cloud, Eureka, Spring Gateway
  • Authentication: JWT Tokens
  • Storage: AWS S3, Nextcloud
  • Payment Gateway: PayHere
  • Containerization: Docker, Maven Jib Plugin
  • CI/CD: GitHub Actions

About

A microservices-based LMS with secure authentication, payment integration, AWS S3 storage, API Gateway, and Docker containerization for scalability, efficiency, and seamless course management.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages