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.
- Manage entire system, including:
- Tickets, Forums, Courses, Teachers, Students, Admins
- Permissions & Roles, Banners, Categories, Orders
- Transactions, Notifications, Carts, Course Videos & Participants
- Verify new admins and courses
- Set course fees
- Answer support tickets
- Manage forums
- Create and manage courses
- Verify discount coupons (created by admin)
- Upload course videos
- Manage forums and respond to questions/comments
- Manage enrolled students
- Comment and like courses
- Participate in webinars
- Purchase courses
- Create transactions via payment gateway
- Backend: Golang
- ORM: GORM
- File Uploads: Tus Protocol
- Database: PostgreSQL
- Authentication: JWT-based authentication
- Messaging & Notifications: WebSockets & Email notifications
- Golang installed (v1.20+ recommended)
- PostgreSQL/MySQL database setup
- Docker (optional for containerized deployment)
# 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