Requirement Analysis
  • Understand User's Requirement
  • Analyze User's Requirements
Design
  • Design User Interface
  • Database Design
  • Technical Design
  • Understand Project's Naming Conventions
Setup Software Programs
  • Install Java Development Kit
  • Setup Eclipse IDE
  • Install Apache Tomcat server
  • Install MySQL Database Server
Create Database
  • Create Database Using MySQL Command Line Client
  • Execute Script in MySQL Workbench
  • Alter Tables in MySQL Workbench
  • Create the rest tables using MySQL Workbench
Setup Project in Eclipse
  • Create Java Dynamic Web Project
  • Configure Dependencies in Maven
  • Create Packages and Directories
  • Add Apache Tomcat and Test the Server
Create Java Model Classes
  • Understand JPA and Hibernate
  • Mapping a Model Class Manually
  • Create JPA Configuration File
  • Write a test program
  • Generate Code for Model Classes
Code DAO Classes
  • Class Design for DAO
  • Introduction to JUnit
  • Code UserDAOTest Class
Create Website's Home Page
  • Code Home Page for the Website's Front-End
Code Admin's Home Page
  • Code Home Page for the Website's Back-End
Code User Management Module - List Users Feature
  • Understand Requirement and Design for User Management Module
  • Update UserDAO Class (part 1)
  • Understand JPA Query and Named Query
  • Update UserDAO Class (part 2)
  • Implement List Users Feature
Code User Management Module - Create User Feature
  • Understand Requirement and Design for Create User Feature
  • Code Create User Form Page
  • Code CreateUserServlet and UserServices Classes
  • Refactor UserServices Class
  • Implement UserDAO.findByEmail Method
  • Create Message Page
Code User Management Module - Edit User Feature
  • Understand Requirement and Design for Edit User Feature
  • Code EditUserServlet and Edit User Form
  • Code UpdateUserServlet and UserServices
  • Update Edit User Feature
Code User Management Module - Delete User Feature
  • Implement Delete User Feature
  • Update Delete User Feature
  • Prevent the default admin user from being deleted
Code Category Management Module
  • Understand Requirement and Design for Category Module
  • Code CategoryDAO Class and Unit Tests
  • Implement List Category Feature
  • Implement Create Category Feature
  • Implement Edit Category Feature
  • Update Edit Category Feature
  • Implement Delete Category Feature
  • Update Delete Category Feature
  • Update Category Menu Items in the Home Page
Using Cascading Style Sheet (CSS) and jQuery
  • Apply Cascading Style Sheet (CSS) for the project
  • Start using jQuery for the project
Implement Authentication for Admin
  • Understand Requirement and Design for Admin Authentication
  • Create Admin Login Page
  • Implement checkLogin function
  • Code AdminLoginServlet
  • Implement Logout function
  • Implement AdminLoginFilter
  • Encrypt password for admin users
Handle Exceptions
  • Why we need to handle exceptions
  • 3 ways of handling exceptions
  • Handle Error 404
  • Handle Error 500
Code Book Management Module - Overview
  • Understand Requirement and Design for Book Management Module
Code BookDAO and Unit Tests
  • Implement create() method
  • Implement update() method
  • Implement delete() method
  • Implement get() method
  • Implement listAll() method
  • Implement findByTitle() method
  • Implement count() method
Implement List Books Feature
  • Implement List Books Feature
Implement Create Book Feature
  • Understand Requirement and Design for Create Book Feature
  • Create New Book Form