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:
Understand the structure of a modular web application.
Implement basic CRUD operations for users within different roles and responsibilities.
Configure a rolebased access system for various functionalities.
Develop controllers in Spring MVC to handle different functionalities for each module.
Apply knowledge of MVC architecture and rolebased 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.
ModulesFunctionality Overview
Below are the suggested modules and their basic functionalities. You may choose to add, remove, or modify these modules as needed.
Client Module
Features: Client registration, loginprofile management, BMI calculation, fitness program selection.
Role Access: Clients can view BMI history, select programs, track progress, and view recommendations.
Admin Module
Features: Client management, role management, content management egadding programsreporting permissions management.
Role Access: Admins can manage all client data, control access, monitor analytics, and manage program content.
Instructions
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 javaxservletetc packages as required.
Develop Controllers
Create individual controllers for each module:
Use appropriate request mappings eg@RequestMapping@GetMapping@PostMappingfor each controller's endpoints.
Implement Basic CRUD Functionality at next stage
For each module, implement basic CRUD functions:
Client: Register, view profile, update profile, delete account.
Admin: Addeditdelete programs, manage clients.
Trainer: Assign plans, track client progress, send feedback.
Finance: Manage subscriptions, track payments, generate reports.
Marketing: Create promotions, track engagement.
RoleBased Access in week
Implement rolebased access in controllers by checking roles before performing actions.
Configure @PreAuthorizeor implement a rolechecking mechanism to ensure only authorized roles can access specific endpoints.
Develop Basic Views JSPdo 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.
Testing do this
Test each endpoint and functionality.
Ensure rolebased access works as expected. leave this
Validate that only authorized roles can perform specific actions. leave this
Deliverables
Project Folder Structure: A structured folder with all necessary files organized by module.
Controllers: Java files for each controller class with functional endpoints.
Views: JSP pages for each module client registration, admin dashboard, etc.
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
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
