controller-view component of course management system.
-This repository represent the controller-view component, you can found modal component at repository link below:
- Before deploy controller-view component you must finish deploy modal component.
- Make sure you have JDK 11 && tomcat v9.0.37
- Edit TODO comment inside the following path:
/src/main/java/com/louay/controller
and it will be change ip-address to your sub-ip (usually start with192.162.1.X
changeX
) , also TODO comment inside the following path:src\main\webapp\META-INF\context.xml
it well be change username and password of the database. - add to your Run/Debug configuration
com.louay.controller.config.MySpringBootMVCApplication
class. - Check project Artifacts is Ok: Project must have one Exploded web application "war" and one Archive web application "war".
Preferably remove them then build project using maven and again create the previous
war files
.
- Mapping spring configuration classes.
In intellij you can find it at project
structure/facets/spring/add
then add it all, also make sure there are no duplicates.
- Run MySpringBootMVCApplication.class.
- Past
https://localhost:8443/login
at browser address bar.
What is course management system ?
course ms is graduate project from Software engineer training program at: Engineers Training Center / Jordan Engineers Association
.
I am Louay Amr who is the author, and the designer of project.
What is the idea of the project?
- course ms provide several authentications and authorization methods.
- sign up pages to student and instructor and verify user id by sending verification email.
- login page tracking the user via cookies and session and url.
- bootstrap 4 to order the page css.
- security filters using spring security, csrf protection, roles for each user using spring security and view layer.
- REST API using spring web-mvc and angularjs 1.8.
- json binding and converter using jackson.
- upload images and pdf files using commons-fileupload library.
- an encrypted password using Argon2 Algorithm.
- secure channel using JSSE-https-TLSv1.3.
- build xls file using org.apache.poi.
- jpa-hibernate was used to build modal component of the project.
- mysql 8 uses as database.
- spring orm side by side with hibernate.
- spring Ioc used at level dao and service also controllers.
What are the features the project provides?
- login and sign up pages with suitable validation.
- home pages for each user according to its permission.
- search service, can search for user, course, material, feedback.
- edit and view user profile.
- search for course only.
- review page to account and course.
- student join service with suitable validation.
- logout service.
- course home page.
- instructor role can edit its course info.
- course search service can search at course material, feedback.
- exit from course, and change user status.
- user status can see at account review page online/offline, at course/out course.
- user notification for new material, feedback.
- feedback for each course, can post text/image/text-image post.
- comment at feedback service, can user write comment for each post.
- edit/delete feedback service.
- material service for each course, can users view/add/edit material according to its role.
- material can be link, image, pdf files.
- ajax often used to submit form, that mean reloads page neglected.
- admin only can register instructor users, export attendances student sheet.
- after user finish sign up process email will be sent at user email to valid user account.
- show user joined courses at home page.
- review account show user info plus status plus joined courses list.
- review course page show course info plus member list plus join to course service.
- add course service provide to instructor role.
- security present at all level.