Learning Management System
This project works as a learning management system where you can have below options, at the end of this post I have attached the GIT location for the source code.
- Creating a Student / Teacher
- Create exams
- Creating Quizzes and assign to Exams
- Assigning Exams to Students
- Managing Profile
- Facing Examinations
High Level Architecture of this
Above is the high level architecture of the system. Simple it deployed in tomcat, and the project is an executable jar file.
Technology selection of the project
I can give a brief technical background on what I used to develop this project.
- Spring boot / Java
- Bootstrap
- Javascript
- JQuery for Ajax calls
- MongoDB
- Thymeleaf
Diagrams for the project
Use Case for Teacher
Use Case for Student
Sequence Diagram
Database Design for the project
User Interfaces
UI for the Teacher
- Login – Used Spring Security for authenticating the user and also authorization part is also handling by the database and Spring basic security mechanism.
- Home
- My Profile
- Creating a user
- Create Exam
- Creating Quiz
- Assign Exam
- View Exams
UI for the Student
- Login
- My Profile
- Access exams
- View Result
Configuration Steps
Firstly you have to install Java 8 on your computer and set up MongoDB locally. After that, you can create a database called “lms_db” in MongoDB.
- use lms_db;
- db.createUser({user : “root”, pwd : “12345”, roles : [{role : “readWrite”, db : “lms_db”}]});
- ./mongod –auth –dbpath ~/Mongodata/
- ./mongo localhost/lms_db -u ‘root’ -p ‘12345’;
- Then insert a teacher to db creating a user collection. – db.User.insert({“email” : “rajithabhanuka1@gmail.com”, “password”: “123”, “role”: “TEACHER”, “regdate” : “2020-06-05”});
- After that you can create new users and exams and assign them to students.
Limitations
- With the given time frame I could not be able to handle the errors.
- Maximum answer selection count is 5 (e.g your question only has 5 answers and student should select only one option)
Reference from my site
Location for GIT