Skip to content

gil-son/spring-react-sds3.0

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Semana-Spring-React (sds3.0)

Introduction

SDS3 is an event promoted by DevSuperior which aims to help students and programming professionals to enter or re-enter their careers.

That event improve abilities required to an Full Stack Developer build a system with a quality architecture!

Event

The event starts on 2021-03-05 and ends on 2021-09-05. Has 3 stages and 1 day additional for any question and ending:

  • 2021-03-05 'Spring' and 'React' in business
  • 2021-05-05 Going deeper into practice
  • 2021-07-05 The career map
  • 2021-09-05 Doubts and Closing

Technical knowledge

Tools list

  • Backend - Optional IDEs to Java
    • Spring Tool Suite (STS)
    • Eclipse
    • intellij
  • Backend - Optional IDEs to SQL
    • pgAdmin - PostgreSQL
  • Frontend - Optional IDEs to React JS
    • VS Studio Code
    • Atom
  • RESTful services
    • Postman
    • Insomnia
  • Deployment and scaled hosting
    • Netlify
    • Heroku

Layers Pattern

image host

Front end: application that the client uses on his device, that is, is accessible on the client side.

Back end: is the part of the system that is running on the server.

The user using the Front end is exchanging interactions and / or data with Back end. This data exchange can be done in several ways forms, but in this case, in the context of the web, requests are being used HTTP (Hypertext Transfer Protocol)

Analyzing the internal part of the Back end we have logical layers, each partition has a purpose and is divided into 3 main layers:

  • Rest Controllers
    • You will receive requests from the Front end to the Back end
    • Forwards the customer's actions to the Service Layer
  • Service Layer
    • Has the system / business logic
    • Responsible for checks, calculations, orchestration of various operations
  • Data Access Layer
    • Basic data access operations in the database (CRUD)

This system organization is important to make the system flexible and easy to maintain.

Analogy to show the difference between the Service Layer and Data Access Layer layers:

Imagine that you will need to save an order on an e-commerce system. To save the order it is necessary to trigger / call a function from the database. However, before saving this order it is necessary to do a lot of checks, in which the Service Layer layer will be responsible:

  • Check if the stock is up to date
  • Write off inventory
  • If the inventory policy allows you to sell without having the product
  • Write off inventory
  • Send e-mail to the customer, notifying the customer about the order

The operations that go directly into the database and do something, is that will be in the Data Access Layer (CRUD) layer. But the whole orchestration, the order when things have to happen, it will be on Service Layer.

Data Transfer Objects (DTO): are simple objects to load / traffic data between Rest Controllers and Service Layer. But when you enter the Service Layer and need to make transactions with the data then Entities will be instated. The concept of Entities in this scenario, is that Entities will play the role of objects that will be monitored, controlled ... to maintain the integrity of the database. So the moment you access the Service Layer and the orchestrations / operations start to occur ... Entities will be instantiated, saved, deleted, updated, etc ... Using the Data Access Layer ... but all of these operations are being monitored to maintain integrity of the data.

Devices

Hosting

Visit: Link

Source


About

Spring Boot with React JS

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published