Skip to content

This application is a full-stack LMS, built with Spring Boot framework for backend services and ReactJS for the frontend

Notifications You must be signed in to change notification settings

mgiang2015/SpringVideoPlatform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

97 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Spring Boot + React Learning Management System (LMS)

This application is a full-stack LMS, built with Spring Boot framework for backend services and ReactJS for the frontend. The purpose of this application is to provide a platform for instructors to share their knowledge and monetize them as they wish. Users can access courses based on their interests or courses created by their favorite instructors.

Table of Content

  1. Technologies Used
  2. Installation
  3. Usage
  4. API Documentation
  5. Acknowledgements
  6. Contact Information

Technologies Used

Frontend

ReactJS Vite Material UI

Backend

Java Spring Boot Auth0

Database

MongoDB MySQL

Installation

Prerequisites

  1. Java 17 or later

  2. npm latest version.

  3. MySQL server and MongoDB server. You can connect to your servers on the cloud as well.

Database Setup

  1. Install MySQL server and ensure that the server is running on your local computer.

    • Set password for your root account and note down your username and password.
    • You can download GUI for MySQL such as MySQL Workbench if you are not used to using the terminal.
  2. Install MongoDB server and ensure that the server is running on your local computer.

    • You can download GUI for MongoDB such as MongoDB Compass for a friendlier interface.

Configuration

Frontend

  1. Create a .env in the ./src/main/js folder.

  2. Configure REACT_APP_BACKEND_BASE_URL=http://localhost:8080

Backend

  1. Rename example.application.properties to application.properties in ./src/main/resources folder.

  2. Update values for spring.datasource.url, spring.datasource.username and spring.datasource.password fields.

  3. Update value for spring.data.mongodb.database field to the name of your database.

Usage

Note: Please ensure that your MySQL and MongoDB servers are running.

Backend

  1. Navigate to root folder.

  2. Run ./gradlew bootRun to run the Spring Boot server. The server will be running at http://localhost:8080

  3. Note: You do not need gradle installed in your machine for this.

Frontend

  1. Navigate to ./src/main/js folder.

  2. Run npm install command to install all dependencies.

  3. Run npm run dev to start front-end locally.

  4. Fire up your favorite browser and access http://localhost:5173

API Documentation

Work in progress. API Documentation will be recorded in ./docs/api.md

Acknowledgements

Build a Course & LMS Platform: Next 13, React, Stripe, Mux, Prisma, Tailwind, MySQL | Udemy Clone

Spring Guides on Building a RESTful Web Service

Add authorization to a Spring Boot application

Contact Information

Email: le.minh.giang.work@gmail.com

LinkedIn: https://www.linkedin.com/in/leminhgiang/

About

This application is a full-stack LMS, built with Spring Boot framework for backend services and ReactJS for the frontend

Resources

Stars

Watchers

Forks