https://github.com/ladmakhi81/learnup-go
A scalable LMS built with Golang, GORM, and Tus protocol, supporting students, teachers, supporters, admins, and super admins. Features include course management, video uploads, transactions, forums, webinars, ticketing, role-based access control, and more. Super admins oversee the system, while admins, teachers, and students have specific roles.
https://github.com/ladmakhi81/learnup-go
docker docker-compose golang gorm postgres redis streaming tus websocket
Last synced: 8 months ago
JSON representation
A scalable LMS built with Golang, GORM, and Tus protocol, supporting students, teachers, supporters, admins, and super admins. Features include course management, video uploads, transactions, forums, webinars, ticketing, role-based access control, and more. Super admins oversee the system, while admins, teachers, and students have specific roles.
- Host: GitHub
- URL: https://github.com/ladmakhi81/learnup-go
- Owner: ladmakhi81
- Created: 2025-02-16T07:22:34.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-02-16T09:52:32.000Z (over 1 year ago)
- Last Synced: 2025-02-16T10:25:42.928Z (over 1 year ago)
- Topics: docker, docker-compose, golang, gorm, postgres, redis, streaming, tus, websocket
- Language: Go
- Homepage:
- Size: 8.67 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Learning Management System (LMS)
A feature-rich **Learning Management System (LMS)** built with **Golang**, **GORM**, and **Tus protocol** for efficient learning management. This system supports **students, teachers, supporters, admins, and super admins** with a wide range of functionalities.
## 🚀 Features
### 🔹 Super Admin
- Manage entire system, including:
- **Tickets, Forums, Courses, Teachers, Students, Admins**
- **Permissions & Roles, Banners, Categories, Orders**
- **Transactions, Notifications, Carts, Course Videos & Participants**
### 🔹 Admin
- Verify new admins and courses
- Set course fees
- Answer support tickets
- Manage forums
### 🔹 Teachers
- Create and manage courses
- Verify discount coupons (created by admin)
- Upload course videos
- Manage forums and respond to questions/comments
- Manage enrolled students
### 🔹 Students
- Comment and like courses
- Participate in webinars
- Purchase courses
- Create transactions via payment gateway
## 🛠Tech Stack
- **Backend:** Golang
- **ORM:** GORM
- **File Uploads:** Tus Protocol
- **Database:** PostgreSQL/MySQL
- **Authentication:** JWT-based authentication
- **Messaging & Notifications:** WebSockets & Email notifications
## 📌 Installation
### Prerequisites
- Golang installed (v1.20+ recommended)
- PostgreSQL/MySQL database setup
- Docker (optional for containerized deployment)
### Steps
```sh
# Clone the repository
git clone https://github.com/yourusername/lms.git
cd lms
# Install dependencies
go mod tidy
# Setup environment variables
cp .env.example .env
# Edit .env file with your configurations
# Run database migrations
go run main.go migrate
# Start the server
go run main.go
```