0% found this document useful (0 votes)
15 views

Java Training Program Week3

Uploaded by

Tuấn Đạt
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views

Java Training Program Week3

Uploaded by

Tuấn Đạt
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 20

Java Training

Program
Week 3: Spring on Project

---The Hope
Agenda
 Objectives
 Quick Remind
 Performance Review System Problem
 Instructions
 Implementation Scope
 Supports
Objectives
 Gain a solid understanding of the fundamentals concepts and features of Spring
framework
 Master the principles of RESTful API design and implementation, enabling them to
develop scalable and efficient web services
 Learn to document APIs comprehensively using OpenAPI/Swagger, facilitating
seamless communication and collaboration between development teams
 Utilizing Spring Data JPA to interact with databases, enabling seamless data access
and manipulation
 Secure APIs using Spring Security
Quick Remind
 Introduction to Spring Framework
 Understand the basics of the Spring Framework, its features, and advantages.
 Learn about inversion of control (IoC) and dependency injection (DI) concepts in
Spring.
 Spring Boot
 Get familiar with Spring Boot, which simplifies the setup and configuration of Spring
applications.
 Learn how to create and configure a Spring Boot project.
Quick Remind
 Spring MVC
 Understand the Model-View-Controller (MVC) architecture in Spring.
 Learn how to develop RESTful APIs using Spring MVC annotations like
@RestController, @RequestMapping, @GetMapping, @PostMapping, …
 Dependency Injection (DI)
 Learn about dependency injection and how it is implemented in Spring.
 Understand the various ways to inject dependencies using constructor injection, setter
injection, and field injection.
Quick Remind
 Spring Data JPA
 Learn how to use Spring Data JPA to interact with databases.
 Understand how to define repositories, entities, and queries using Spring Data JPA.
 RESTful Web Services
 Learn about the principles of RESTful architecture and how they apply to web services.
 Understand concepts such as HTTP methods, URI conventions, resource
representations, and statelessness.
Quick Remind
 Serialization and Deserialization
 Understand the process of converting Java objects to JSON (serialization) and vice
versa (deserialization).
 Learn how to use libraries like Jackson or Gson for serialization and deserialization in
Spring.
 Error Handling and Exception Handling
 Learn how to handle errors and exceptions gracefully in RESTful APIs.
 Understand techniques such as using @ExceptionHandler, global exception handling,
and returning appropriate HTTP status codes.
Quick Remind
 Documentation with Swagger
 Learn how to document RESTful APIs using Swagger.
 Understand how to annotate Spring controllers to generate Swagger documentation
automatically.
 Logging and Monitoring
 Learn about logging frameworks like Logback or Log4j for logging in Spring
applications
 Understand how to monitor and log application events for troubleshooting and
monitoring purposes.
Quick Remind
 Spring Security
 Get acquainted with Spring Security for implementing authentication and authorization
in RESTful APIs.
 Learn how to configure security features such as authentication providers, authorization
rules, and CSRF protection.
 Testing
 Learn about testing methodologies in Spring applications.
 Understand how to write unit tests and integration tests for RESTful APIs using tools
like JUnit and Mockito.
Quick Remind
 Performance Optimization
 Learn techniques for optimizing the performance of RESTful APIs in Spring.
 Understand concepts such as caching, lazy loading, and optimizing database queries.
 Best Practices and Code Quality
 Familiarize yourself with best practices for writing clean, maintainable, and efficient
code in Spring.
 Learn about code quality tools like SonarQube or Checkstyle for ensuring adherence to
coding standards.
Performance Review System Problem
 Review Types: The system should support multiples types of reviews such as
monthly, quarterly, performance improvement reviews, etc
 Admin control: Administrator should have the authority to create and manage
performance reviews for specific employees within the organization
 Reviewer Assignment: Administrator should be able to assign employees as
reviewers for their peers, ensuring appropriate feedback channels
 Criteria Customization: The system should allow administrators to set up
customizable categories and criteria for each performance review tailoring the
evaluation process to the specific needs and goals of the organization
Performance Review System Problem
 Rating policies: Administrator should have the flexibility to define rating policies,
including scales and weightings, to standardize evaluation criteria across the
organization
 Employee Self-Reviews: Employees should have the ability to submit their self-
assessments through the system, fostering self-reflection and engagement in the
performance evaluation process
 Summarized Data Export: Administrators should be equipped with the capability to
view and export summarized data
Performance Review System Problem
 Notification: The system should incorporate notification features to facilitate
reviewing processes
 Access Control: The system should enforce strict access controls to ensure that
employees are only granted permissions appropriate to their roles, preventing
unauthorized access to administrative functions
Instructions
 Requirement Analysis
 Utilize the use case diagram to clarify requirements by visualize user intersections and
system behavior
 Use the sequence diagram to handle complex data or action flows, depicting the
sequence of interactions between system components.
 Define Architecture and Data Model
 Based on the requirements and diagrams, define the architecture of the system,
including components, their interactions, and data flows.
 Design the data model to represent the structure and relationships of the data entities in
the system.
Instructions
 Determine Tasks/API Based on Functionalities/Features:
 Break down the functionality into tasks or APIs based on features identified in the
requirement analysis.
 Assign priorities to tasks/APIs based on the criticality and dependencies of features.
 This will let you know which to do first
 Determine API Request/Response to Support UI Functionality
 Analyze the UI requirements and determine the API requests and responses needed to
support the frontend functionality.
 Ensure that the API design aligns with the expected UI interactions and data
requirements.
Implementation Scope
 Keep it Simple: Minimum Viable Product (MVP) Approach
 Define the data model to be as simple as possible. For instance, an Employee entity
may only require fields such as id, name, and email to fulfill the basic requirements. Or
only need to focusing on 1 specific performance review.
 Prioritize essential features and functionalities to deliver a minimal yet functional
product that addresses core user needs.
 Make it Professional: Embrace Best Practices
 Adhere to industry best practices throughout the development process.
 Maintain clean, well-structured code to ensure readability, maintainability, and
scalability.
Supports
 Wireframe: This could make your life easier by helping you to imagine how the
software should be and understand the requirements more effectively.
https://www.figma.com/file/LsqGn4lNdyuMHMDrsLyifH/Performance-Review-Sy
stem?type=design&node-id=0%3A1&mode=design&t=msjRLvO0ki5vWWMR-1
 Others: Ask me. I am the document @@
Supports
Supports
Thank for watching The Hope Status
<3 <3 <3 Eating 200

Ask any questions! Loving 404


But I don't have any answers!
Coding 200
Sleeping 503

You might also like