Create a complete web based application which helps a user to manage his profile.
1) Ability for a registered user to log into the system, where the username and password is mentioned in the database.
2) Registration Fields. (All Fields Are required)
- i. First Name
- ii. Last Name
- iii. User Name
- iv. Password
- v. Date of Birth
- vi. Email
- vii. Mobile Number
- B. Registration Page will use Redirect to Login Page. (POST/REDIRECT/GET)
- C. Any errors should display error message on same page.
- a. If user already exists while registration (Registration page should display the correct error message)
- b. Any System Error.
3) After logging into the application. User views the data,
- i. Would be present if user entered information previously OR
- ii. Would be blank if first login attempt or user deleted information.
4) Profile should contain the following category.
- i. About Yourself
- i. Lines about yourself
- ii. Address Line 1
- iii. Address Line 2/ Apt #
- iv. City
- v. State
- vi. Zip
- vii. Area of Interest (Check Boxes)
- ii. Education Info (Required at least 1)
- i. College Name
- ii. Year (Drop-down)
- iii. Degree Name (Graduate/Masters/PhD)
- iv. GPA (Range from 1.0 to 4.0 / Percentage)
- iii. Academic Project (Required at least 1)
- i. Project Name
- ii. Company Name
- iii. Duration
- From Date - To Date
- iv. Short Description
- iv. Skill Set (Graphical output - Progress Bar as output)
- i. Display 5 Languages (Range 0 - 10).
- v. Places of Visited (Maps as output)
- i. lat/lng
- ii. Alternates are ok. ( Location Dropdown or .. )
- vi. Any additional information also needs to be captured.
5) User should have the ability to save their data (Either at every step or final review).
Note: Save means persisting the changes to database.
6) User should have the ability to Delete their details while viewing the Information. (Username/Password should not be deleted)
7) Application Flow:
- i. Registration would use (POST-REDIRECT-GET).
- ii. User can Login in only after Registration.
- iii. HTTP Session should be used to stored data. ( i.e session.setAttribute/session.getAttributes request.getSession(false)
- iv. Each section on Pt. #3 will be on own page. (Multiple Page for each user input)
- v. Final Display Page will use
- i. Header and Footer should use Directive include
- ii. Rest of subsections should also be an include.
- vi. Either at each Step save data to database or final review.
- vii. Final Display Page should have the option to DELETE information.
- Create an MVC style application.
- Front Controller responsibility are.
- a. Session Validation
- b. Navigation Control. (To Page Controller)
- i. _action (Button Action)
- ii. _form ( Current Page)
Page Controller responsibility
- a. If Next/Save
- i. Will save information into session
- ii. Based on Logic will call DAO to save
- iii. On SUCCESS will navigate to next Page
- b. If Back
- i. Will go to BACK Page.
- a. If Next/Save
View, would be a JSP page.
Model, this would represent the information in User Information(Bean) format to be displayed
Database Responsibility (DAO - Data Access Objects)
- a. DAO would interact with the database.
- b. DAO would create a database session
a) No Late Submission.
b) TA will only assist in Tomcat/Eclipse and JSP/Servlet issues.
c) Any Student found copying or assisting other students by sharing will receive an F grade.