{"id":26301694,"url":"https://github.com/yesitha/lms","last_synced_at":"2026-04-10T12:33:22.271Z","repository":{"id":232433230,"uuid":"784300490","full_name":"yesitha/LMS","owner":"yesitha","description":"A microservices-based LMS with secure authentication, payment integration, AWS S3 storage, API Gateway, and Docker containerization for scalability, efficiency, and seamless course management. ","archived":false,"fork":false,"pushed_at":"2025-03-14T06:36:49.000Z","size":433,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-14T07:24:37.592Z","etag":null,"topics":["api-gateway","aws-cloudfront","aws-s3","docker","github-actions","kubernetes","microservices","nextcloud","payherelk","springboot"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yesitha.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-09T15:23:21.000Z","updated_at":"2025-03-14T06:36:53.000Z","dependencies_parsed_at":"2024-04-09T20:34:45.181Z","dependency_job_id":"5da50e49-e2db-4791-b304-836d36db5bed","html_url":"https://github.com/yesitha/LMS","commit_stats":null,"previous_names":["yesitha/lms"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yesitha%2FLMS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yesitha%2FLMS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yesitha%2FLMS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yesitha%2FLMS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yesitha","download_url":"https://codeload.github.com/yesitha/LMS/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243695595,"owners_count":20332629,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api-gateway","aws-cloudfront","aws-s3","docker","github-actions","kubernetes","microservices","nextcloud","payherelk","springboot"],"created_at":"2025-03-15T07:16:17.229Z","updated_at":"2026-04-10T12:33:22.219Z","avatar_url":"https://github.com/yesitha.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Learning Management System (LMS)\n## Overview\n\nThe 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.\n\n\n\u003cimg src=\"https://github.com/user-attachments/assets/976dda89-ba72-4595-86b5-29692c5207af\" width=\"650\" height=\"500\" /\u003e\n\n\n\n## Features\n\n- **Payment Integration:** Supports payments through [PayHere](https://www.payhere.lk/).\n- **Microservices Architecture:** Built using Spring Cloud with centralized service discovery via **Eureka**.\n- **API Gateway:** Utilizes Spring Gateway for request routing and load balancing.\n- **Authentication \u0026 Authorization:** Secured with JWT token-based authentication and role-based access control.\n- **Content Delivery Network (CDN):** Uses AWS CloudFront with **Signed URLs** to restrict access by IP and provide time-limited links.\n- **Storage Solutions:**  \n  - **AWS S3:** Securely stores videos.  \n  - **Nextcloud:** Manages and stores other documents.\n- **Containerization:**  \n  - Docker images are created using the **Maven Jib plugin**.  \n  - **GitHub Actions** automate Docker image creation and push to DockerHub.\n- **Orchestration:** Configured with a Docker Compose file to simplify project setup and deployment.\n\n \n## Architecture\n\nThis project employs a microservices architecture with the following components:  \n- **Eureka Server:** Centralized service registry for microservices.  \n- **Spring Gateway:** Handles routing and authentication.  \n- **Multiple Microservices:** Each handles specific functionalities, ensuring modularity and scalability.\n\n\n## Technologies Used\n\n- Backend: Spring Boot, Spring Cloud, Eureka, Spring Gateway\n- Authentication: JWT Tokens\n- Storage: AWS S3, Nextcloud\n- Payment Gateway: PayHere\n- Containerization: Docker, Maven Jib Plugin\n- CI/CD: GitHub Actions\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyesitha%2Flms","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyesitha%2Flms","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyesitha%2Flms/lists"}