Question: Task: Developing a BMI and Fitness Web App with given modules, using Spring Web MVC Objective By the end of this lab activity, every group

Task: Developing a BMI and Fitness Web App with given modules, using Spring Web MVC
Objective
By the end of this lab activity, every group members should:
1.Understand the structure of a modular web application.
2.Implement basic CRUD operations for users within different roles and responsibilities.
3.Configure a role-based access system for various functionalities.
4.Develop controllers in Spring MVC to handle different functionalities for each module.
5.Apply knowledge of MVC architecture and role-based design to create a web application prototype.
Description
In this lab, you will begin developing a BMI and Fitness Web App that includes modules for different roles: Client, Admin, Trainer, Finance, and Marketing. Each module will have specific responsibilities and accessible functionalities based on the users role.
Modules/Functionality Overview
Below are the suggested modules and their basic functionalities. You may choose to add, remove, or modify these modules as needed.
1.Client Module
-Features: Client registration, login,profile management, BMI calculation, fitness program selection.
-Role Access: Clients can view BMI history, select programs, track progress, and view recommendations.
2.Admin Module
-Features: Client management, role management, content management (e.g.,adding programs),reporting, permissions management.
-Role Access: Admins can manage all client data, control access, monitor analytics, and manage program content.
Instructions
1.Setup
-Ensure Spring Web MVC Project is configured correctly.
-Create a project directory structure for controllers, models, views, and services.
-Set up any necessary dependencies, including `javax.servlet`etc... packages as required.
2.Develop Controllers
-Create individual controllers for each module:
-Use appropriate request mappings (e.g.,`@RequestMapping`,`@GetMapping`,`@PostMapping`)for each controller's endpoints.
3.Implement Basic CRUD Functionality -at next stage
-For each module, implement basic CRUD functions:
-Client: Register, view profile, update profile, delete account.
-Admin: Add/edit/delete programs, manage clients.
-Trainer: Assign plans, track client progress, send feedback.
-Finance: Manage subscriptions, track payments, generate reports.
-Marketing: Create promotions, track engagement.
4.Role-Based Access -in week 12
-Implement role-based access in controllers by checking roles before performing actions.
-Configure `@PreAuthorize`or implement a role-checking mechanism to ensure only authorized roles can access specific endpoints.
5.Develop Basic Views (JSP)-do this
-Create JSP views for:
-Client: Registration, profile view, program selection, BMI calculation.
-Admin: User management, program content management, analytics view.
-Trainer: Program assignment, progress tracking.
-Finance: Billing dashboard, payment tracking.
-Marketing: Campaign management, engagement reports.
6.Testing -do this
-Test each endpoint and functionality.
-Ensure role-based access works as expected. -leave this
-Validate that only authorized roles can perform specific actions. -leave this
Deliverables
1.Project Folder Structure: A structured folder with all necessary files organized by module.
2.Controllers: Java files for each controller class with functional endpoints.
3.Views: JSP pages for each module (client registration, admin dashboard, etc.).
4.Simple txt documentation: A README file describing each module, the roles, and instructions for accessing the urls.
pls solve this based on these for controller and admin module ,should be run on spring sts maven project

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!