Skip to content

nikhathfirdose1/learning_mgmt_system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 

Repository files navigation

Learning Management System by Team VANS

Transform learning into an engaging journey with our Learning Management System. 🚀

Tech Stack

Introduction

Welcome to our Learning Management System (LMS) project repository, developed by Team VANS for the CMPE 202 course at San Jose State University.

Features

1   1   customize-code

Development

Alternatively, instead of checking the hosted version of the project, This can be run locally. - Please find the below steps:

Pre-requisites

To be able to start run this project on local env, make sure that you have the following prerequisites installed:

  • Node.js
  • Java
  • Maven
  • MySQL

Project Design Choices

Next.js (Frontend Framework)

  • Why Next.js: We chose Next.js for the website's front-end because it's user-friendly and enhances page loading speed. Its SEO-friendly features also improve our visibility on search engines, ensuring users find us easily.

Spring Boot (Backend Framework)

  • Why Spring Boot: For the back-end development, we selected Spring Boot due to its simplicity and seamless integration capabilities. It facilitates smooth communication between different parts of our website, ensuring a cohesive user experience.

MySQL (Database)

  • Why MySQL: To manage our website's data efficiently, such as course information and user registrations, we chose MySQL for its reliability and scalability. It provides a stable foundation for storing and retrieving large amounts of data.

AWS (Cloud Provider)

  • Why AWS: When it came to hosting our website, we turned to AWS for its robust cloud infrastructure and comprehensive suite of services. AWS ensures our website remains accessible and responsive, even during periods of high traffic.

Auto Scaled EC2 Cluster with Load Balancer (Deployment)

  • Why Auto Scaled EC2 Cluster with Load Balancer: To maintain optimal performance under varying loads, we implemented an auto-scaled EC2 cluster with a load balancer. This setup automatically adjusts server capacity based on demand, ensuring seamless user experience regardless of traffic fluctuations.

XP Values

Communication

We ensured everyone stayed informed by regularly sharing knowledge and updates during team meetings and discussions. This helped us stay aligned and make informed decisions together.

Simplicity

We focused on implementing only necessary features and used reusable components to keep the project simple and manageable. This approach saved time and effort, making development smoother.

Respect

Throughout the project, we valued each other's opinions, availability, and timelines, creating a supportive and collaborative environment. This mutual respect allowed us to work efficiently and fostered a sense of trust within the team.

Architecture Diagram

image

Deployment Diagram

image

Deliverables and Weekly Scrum Report

Detailed Sprint task distribution in our Sprint Chart

Team Journal

Sprint 1 (13 Mar to 26 Mar)
  • Set up Private GitHub Repository with Git Classroom Invite for Team
  • Setup Separate Environments for Testing and Production
  • Create UML Diagrams for Project Setup
  • Create UI Wireframes Using Figma
  • Design responsive UI/UX
  • Design Wireframes for Faculty, Students, and Admins
  • Design Wireframes for Assignments and Quizzes
  • Nextjs Framework Setup with TypeScript
  • Spring Boot Setup with Java
  • Configure MySQL Database Setup
Burndown Chart Sprint 1

Sprint 2 (27 Mar to 10 Apr)
  • Implement Role-Based Access Controls for Students, Faculty, and Admins
  • Set up Mock Database Schema for Users, Courses, Assignments, and Quizzes
  • Implement User Authentication System
  • Design and Implement Encoded Password Feature
  • Develop API endpoints to Create, Retrieve and Update Profile
  • Develop Feature for Student Role to View / Edit Profile
  • Implement Student Notification Preferences Feature
  • Develop API endpoints to Create, Retrieve, Update and Delete courses
Burndown Chart Sprint 2

Sprint 3 (11 Apr to 24 Apr)
  • Develop API endpoints to Assign Courses to Faculty
  • Develop API endpoints to List Courses to Students, Faculty and Admins
  • Develop API endpoints to List Courses by Term
  • Develop API endpoints to Edit Course Details
  • Develop API endpoints to Change Professor for a Course in Admin
  • Develop API endpoints to Create, Retrieve, Update and Delete Assignments
  • Develop Feature for Faculty Role to Add and Manage Assignments
  • Develop Feature for Student Role to View Assignments
  • Develop Feature for Admin Role to View Assignments
  • Develop Feature for Faculty Role to Grade Assignments
Burndown Chart Sprint 3

Sprint 4 (25 Apr to 8 May)
  • Develop API endpoints to Create, Retrieve, Update and Delete Quiz
  • Develop Feature for Faculty Role to Add and Manage Quizzes
  • Develop Feature for Faculty Role to Grade Quizzes
  • Develop Feature for Admin Role to View Quizzes
  • Develop API endpoints to Create, Retrieve, Update and Delete Announcements
  • Develop Feature for Faculty Role to Add and Manage Announcements
  • Develop Feature for Student Role to View Announcements
Burndown Chart Sprint 4

Team Members

  1. Veera Vivek Telagani
  2. Alekhya Vaida
  3. Nikhath Firdose
  4. Soumith Reddy Podduturi

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages