Skip to content

⚛️ Project developed based on tutorials by Fernanda Kipper: Building a Full-Stack Application with Java Spring and React

License

Notifications You must be signed in to change notification settings

souzafcharles/Java-Spring-React-Fullstack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 

Repository files navigation

GitHub language count GitHub top language GitHub GitHub last commit

💻 Building a Full-Stack Application with Java Spring and React

🚩 Project developed based on tutorials by Fernanda Kipper - kipperDev.


Instructions:

This guide provides a structured approach to developing a full-stack application using Java Spring, React, and PostgreSQL. The process is divided into two key phases: backend development and frontend development.

This section details the construction of the application's backend using the Java Spring framework. It begins with the creation of a Spring Boot project, configuring both H2 for testing and PostgreSQL for development, and implementing database migrations using Liquibase. The guide then covers the creation of data models and RESTful controllers to manage CRUD operations within the application. The utilisation of essential libraries, such as Spring Data JPA, will be explored to streamline data access and manipulation. Environment-specific configurations and the use of environment variables are also covered.

Backend Project Stack:

Technology Version Description
📐 IntelliJ IDEA 2024.3 Integrated Development Environment (IDE)
☕ Java 21 Backend programming language
🌱 Spring Boot 3.4.2 Framework for creating Spring applications
🐦 Maven 3.9.9 Build automation and dependency management
🐘 PostgreSQL 17 Relational database management system
🗃️ H2 Database 2.3.232 In-memory relational database for testing
🛢️ Liquibase 4.22.0 Database migration management tool
👩‍🚀 Postman 11.19 API testing and development tool

Backend Dependencies:

Dependency Category Description
🛠️ Spring Boot DevTools Developer Tools Provides fast application restarts, LiveReload, and configurations for enhanced development experience
🌐 Spring Web Web Build web, including RESTful, applications using Spring MVC. Uses Apache Tomcat as the default embedded container
💾 Spring Data JPA SQL Persist data in SQL stores with Java Persistence API using Spring Data and Hibernate
🗃️ H2 Database Engine SQL Provides a fast in-memory database that supports JDBC API and R2DBC access, with a small (2mb) footprint
🐘 PostgreSQL Driver SQL A JDBC and R2DBC driver that allows Java programs to connect to a PostgreSQL database using standard, database-independent Java code
🛢️ Liquibase Core SQL Manages database schema migrations, providing version control and seamless updates to the database schema
🗝️ dotenv-java Configuration Loads environment variables from a .env file into the application, aiding in secure configuration management

This section focuses on developing the application's frontend using the React library and TypeScript. The process includes creating React components and leveraging React Hooks to implement the application's functionalities. The guide also explores the use of TypeScript to enhance code maintainability. Furthermore, it details the connection of the frontend to the backend (developed in Part 1) using Axios for HTTP requests and React Query for fetching, caching, synchronising, and updating server state within the application.

Frontend Project Stack:

Technology Version Description
✒️Visual Studio Code 1.96 Code editor for modern web and cloud projects
⚡ Vite 6.0.11 Next Generation Frontend Tooling
⚛️ React 18.3.1 Framework for building user interfaces
📜 TypeScript 5.6.2 Strongly typed programming language
📦 Node.js 18.x JavaScript runtime environment

Frontend Dependencies:

Dependency Category Description
⚛️ React Core Library for building user interfaces
⚛️ React DOM Core Renders React components in the browser
📜 TypeScript Core Enables type-checking and development with TypeScript
⚙️ Vite Plugin React Build Tools Plugin to support React in Vite projects
✅ ESLint Development Linter tool to ensure code quality
🎯 TypeScript ESLint Development Integrates TypeScript with ESLint
🔍 @types/react Type Definitions Provides TypeScript definitions for React
🔍 @types/react-dom Type Definitions Provides TypeScript definitions for React DOM
🌍 Globals Development Provides global variables and functions for ESLint rules
✒️ React Hooks ESLint Development Ensures proper usage of React Hooks
🔧 React Refresh ESLint Development Provides linting for Vite’s fast-refresh mechanism
🔄 @tanstack/react-query API Management Data fetching and caching for React applications
🔗 Axios API Management Promise-based HTTP client for making API requests

▶️ Tutorial Video kipperDev:

  • Part 1: Backend Development with Java Spring and PostgreSQL;
  • Part 2: Frontend Development with React and TypeScript.

Home Screen with Displayed Items:

Home Screen Updated

About

⚛️ Project developed based on tutorials by Fernanda Kipper: Building a Full-Stack Application with Java Spring and React

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published