InEdu is a web-based platform for enhancing employee skills and knowledge. InEdu aims to improve the abilities of employees who need training where there are videos and learning readings so that employees can learn at their own pace. Each course has interactive slides featuring videos, readings & quizzes.
Entity Relationship Diagram - InEdu Learning Management System
InEdu Learning Management System API
InEdu Learning Management System API
- GO as Programming Language
- echo as high performance framework
- GORM for the initial migration and creation of the database schema
- MySQL
- Implement custom Error Handling
- Using JWT as Token via jwt-go package
- Implement Role base authorization
- Write unit test for API endpoint and middlewares
- Using Docker for packaging applications into containers
- Using AWS for Deployment
As previously mentioned, the project implements Clean Architecture. The four layers on the project are:
- Domain Layer
- Repository Layer
- Usecase Layer
- Controller Layer
From the picture above, the four rounded rectangular corresponds to each Clean Architecture layer. The slightly bolder arrow pointing from certain layer to another, pictures the dependency of the layer. For example, the domain layer (red) is pointing to repository layer (purple). This means that the repository layer imports package from domain and thus the repository layer depends on the domain layer.
git clone https://github.com/Kelompok-8-alterra/LMS-Backend.git
cd backend-InEdu