Skip to content

danielpm1982/springboot3-profile-mng

Repository files navigation

springboot3-profile-mng

This is a very simple Profile Management REST Application developed with Spring Boot 3 and Spring Framework 6

© 2024 Daniel Pinheiro Maia All Rights Reserved
(see Copyright© License at the end of this text).

[Description of this repository]
This is a very simple Profile Management REST Web Service Application (back-end, Producer) developed with Java 19, Spring Boot 3, Spring Framework 6, Spring Web MVC, Spring REST, Spring Data JDBC, Spring Actuator, Hibernate Java Bean Validator, Jonathan Halterman Model Mapper, Faster/XML Jackson, Jakarta JAX-B, Lombok, Swagger, H2 in-memory DBMS, MySQL computer's storage DBMS, MySQL Workbench, Docker and Docker Compose, Linux Ubuntu. The intent of this project is simply to demonstrate basic Spring Boot framework development features and related tools.
The business logic and domain model class in this project simply represents some sample Person profile data, as id, firstName, lastName, userName, password and email. It's not an objective here to represent real-world domain models, but to use the simplest possible domain to exemplify and explain how to leverage Spring Boot 3 syntax features when developing a working REST Web Service application. Spring features and modules not used up until the latest version of this app, may be included in future versions. Client apps, for accessing and consuming this Producer REST Service API, in a language-agnostic fashion, will eventually be developed later, as well, as separate projects. For now, you can test this app by using external tools as Postman, MySQL Workbench or the browser itself, through the Swagger REST client interface or the H2 console (see sample prints below).
This project has been extensively documented at the source code itself, for the purpose of explaining each development feature of Spring Framework 6 and Spring Boot 3 in practice, right where it is being used at, along with some more general observations at each class file. You can read, for instance, how to build and run the source code of this app, through 5 different ways, at the main class and at the docker-compose files (available at the root of this project). As minimum dependencies, for building, running and trying this project, you should have Java 19 JDK and Docker installed, and preferably have Linux Ubuntu as your Operating System. You should also use some Integrated Development Environment, as Jetbrains IntelliJ IDEA Community, for analysing the source code and use Maven to build and run the source code. But, as explained at the main class comments, you can simply run this project's dockerized build directly from Docker Hub by using Docker Compose files and the sql init folder (docker-entrypoint-initdb.d) - both available at this projects' root folder.

[Released Versions]

[Support]
If you have any suggestion or correction about the content of this repository, please, feel free to open an issue at the project issues' section.

[Printscreen App Samples]

image

image

image

image

image

image

image

image

image

[Copyright© License]
© 2024 Daniel Pinheiro Maia All Rights Reserved
This GitHub repository - and all code (software) available inside - is exclusively for academic and individual learning purposes, and is NOT AVAILABLE FOR COMMERCIAL USE, nor has warranty of any type. You're authorized to fork, clone, run, test, modify, branch and merge it, at your own risk and using your own GitHub account, for individual learning purposes only, but you're NOT ALLOWED to distribute, sublicense and/or sell copies of the whole or of parts of it without explicit and written consent from its owner / author. You can fork this repository to your individual account at GitHub, clone it to your personal notebook or PC, analyse, run and test its code, modify and extend it locally or remotely (exclusively at your own GitHub account and as a forked repository), as well as send issues or pull-requests to this parent (original) repository for eventual approval. GitHub is in charge of explicitly showing whom this respository has been forked from. If you wish to use any of this repository content in any way other than what is expressed above, or publish it anyway or anywhere other than as a forked repository at your own GitHub account, please contact this repository owner / author using GitHub or the contact info below. For the meaning of the technical terms used at this license, please refer to GitHub documentation, at https://help.github.com/en/github .

[Owner and Author of this GitHub Repository]
Daniel Pinheiro Maia
danielpm1982.com
danielpm1982@gmail.com
linkedin.com/in/danielpm1982
Brazil
.

About

This is a very simple Profile Management REST Application developed with Spring Boot 3 and Spring Framework 6

Resources

Stars

4 stars

Watchers

1 watching

Forks

Packages

 
 
 

Contributors