Skip to content

Kelompok-8-alterra/LMS-Backend

Repository files navigation

BACKEND RESTFULL API INEDU MANAGAMENT LEARNING SYSTEM WITH CLEAN ARCHITECTURE

Logo InEdu

Description

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.

API Documentation

ERD

Entity Relationship Diagram - InEdu Learning Management System

Swagger

InEdu Learning Management System API

Postman

InEdu Learning Management System API

Technology and Frameworks yang digunakan

  • 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

Clean Architecture

As previously mentioned, the project implements Clean Architecture. The four layers on the project are:

  • Domain Layer
  • Repository Layer
  • Usecase Layer
  • Controller Layer

The Diagram

golang clean architecture

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.

How to use from this API

Clone the repository
git clone https://github.com/Kelompok-8-alterra/LMS-Backend.git
cd backend-InEdu

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages