Online-Easy-Learning Platform 🎓💻
A full-stack E-Learning web application built with Spring Boot, Thymeleaf, and MySQL. Users can browse courses, enroll, manage tutors, and update profiles.
🚀 Features
User Management: Registration, login/logout, profile editing
Course Management: Add, edit, view course details
Tutor Management: Add, edit, view tutors
Enrollment System: Users can enroll in courses, see confirmation pages
Role-Based Security: Admin & user roles with Spring Security
Responsive Frontend: Materialize CSS for modern UI
💻 Tech Stack Layer Tech Backend Java 25+, Spring Boot Frontend Thymeleaf, HTML, CSS, JS, Materialize Database MySQL Security Spring Security Build Maven 📂 Project Structure src/ ├─ main/ │ ├─ java/com/elearning/platform │ │ ├─ auth/ # User & Auth classes │ │ ├─ controller/ # API endpoints (MVC controllers) │ │ ├─ dto/ # Data Transfer Objects │ │ ├─ model/ # JPA Entities │ │ ├─ repositories/ # DB Repositories │ │ ├─ services/ # Business logic │ │ └─ security/ # Spring Security config │ └─ resources/ │ ├─ templates/ # Thymeleaf HTML │ ├─ static/ # CSS, JS, images │ └─ db/migration/ # SQL scripts └─ test/ # Unit tests
⚡ Installation & Run
Clone Repo
git clone cd E-Learning-Platform
Set up MySQL DB
CREATE DATABASE ezlearning;
Run SQL scripts:
V1.1__schema.sql → tables
V1.2__data.sql → sample data
Configure DB in application.properties
spring.datasource.url=jdbc:mysql://localhost:3306/ezlearning spring.datasource.username=root spring.datasource.password=yourpassword spring.jpa.hibernate.ddl-auto=update
Build & Run
./mvnw clean install ./mvnw spring-boot:run
Access App http://localhost:8080
🎨 Demo / Screenshots Home Page
Browse Courses
Enrollment Success
User Profile
You can also add a GIF demo showing registration → login → enrollment flow for extra flair.
📌 Usage Flow
Register as a new user
Login → Browse courses
Enroll in a course → Success page
Admins: Manage courses & tutors
Users: Update profile, check enrollments
✨ Future Enhancements
Payment gateway integration for courses
Track course progress
Notifications system (email / in-app)
Mobile-first responsive UI
📜 License
MIT License – see LICENSE