In this article, I suggest a few free, open-source projects developed using Spring Boot for learning purposes. Please go ahead and check out the source code (I have also added tutorials) and get hands-on experience on real projects.
Along with Spring Boot, you will also learn Spring framework modules, Microservices, Thymeleaf, Maven, JWT, React Js, Elastic Search, WebSocket, JSP, MySQL, Hibernate, Spring Data JPA, etc.
We'll create a simple version of the Library Management System with basic functionalities:
Here is the Microservices Architecture for our Microservices project that we are going to build in this tutorial:
Sagan project is open-source and available on the GitHub repository: https://github.com/RameshMF/sagan.
3. Sagan - Import Sagan project sources into your IDE of choice.
4. Sagan - Sagan Wiki
5. Live demo on - Spring.io
There are many ways to create a Spring Boot application. The simplest way is to use Spring Initializr at http://start.spring.io/, which is an online Spring Boot application generator.
Live Demo: https://start.spring.io
GitHub Repository - https://github.com/RameshMF/initializr
Documentation - Spring Initializr Reference Guide
Features Implementation:
Tools and Technologies Used:
- Spring Boot 3
- Spring MVC 6
- Spring Security 6
- Hibernate 6
- Thymeleaf 3
- MySQL 8
- Maven
Along with Spring Boot, you will also learn Spring framework modules, Microservices, Thymeleaf, Maven, JWT, React Js, Elastic Search, WebSocket, JSP, MySQL, Hibernate, Spring Data JPA, etc.
Learn and master in spring boot on Master in Spring Boot
Learn and master in Spring framework on Master in Spring Framework
1. Banking Application using Spring Boot
In this project, we will learn how to build REST APIs for a simple Banking application using Spring Boot, Spring Data JPA (Hibernate) and MySQL database.
You will create a simple version of the Banking App with basic functionalities: creating a bank account, fetching account details, and making a deposit/withdrawal.
Use this tutorial to build this banking application: Banking Application using Spring Boot.
In this project, we will learn how to build REST APIs for a Library Management System Project using Spring Boot, Spring Data JPA (Hibernate), and MySQL database.We'll create a simple version of the Library Management System with basic functionalities:
- Create a new User
- Fetch all the Users
- Add new book
- Fetch all the books
- Fetch specific book
- Delete a book
- Borrow a book
- Return a book
Use this tutorial to build this library management system application: Library Management System using Spring Boot.
In this project, we will build an Employee Management System project from scratch using Spring Boot, Spring MVC, Spring Security, Thymeleaf, and MySQL database. Spring Boot is an opinionated framework that helps developers build stand-alone and production-grade Spring-based applications quickly and easily.
We will implement the following features in this project:
- List Employee Feature
- Add Employee Feature
- Update Employee Feature
- Delete Employee Feature
- Pagination Feature
- Sorting Feature
- Login Feature
- Registration Feature
- Logout Feature
Use this tutorial to build this employee management system application: Spring Boot Tutorial - Build Employee Management Project from Scratch using Spring Boot + Spring Security + Thymeleaf and MySQL Database.
Demo screenshot of this project:
4. Simple Microservices Project using Spring Boot
This project will teach us how to build a simple Microservices project using Spring Boot 3, Spring Cloud, and PostgreSQL database. In this microservices project, you'll explore essential concepts such as API Gateway, Config Server, Discovery Server, and hands-on implementation of two real-world microservices, Student and School.
Use this tutorial to build this project: Microservices Project using Spring Boot.
Here is the Microservices Architecture for our Microservices project that we are going to build in this tutorial:
In this full-stack project, we will learn how to develop a simple end-to-end full-stack web application that is a basic Employee Management Application using React and Spring Boot.
I have created this project for my free ReactJS + Spring Boot CRUD Full Stack App course on YouTube.
In this project, you will learn how to build a full-stack web application that is a basic Employee Management Application with CRUD features:
I have created this project for my free ReactJS + Spring Boot CRUD Full Stack App course on YouTube.
In this project, you will learn how to build a full-stack web application that is a basic Employee Management Application with CRUD features:
- Create Employee
- List Employee
- Update Employee
- Delete Employee
- View Employee
Use this tutorial to build this project: CRUD App using Spring Boot and React.
6. Project Sagan
This is a real-world app that powers the Spring.io website. It is in production and used by thousands of users each day.
Sagan project is open-source and available on the GitHub repository: https://github.com/RameshMF/sagan.
I highly suggest this project. You will learn everything about the Spring framework ecosystem, Elasticsearch, Gradle, and Thymeleaf UI.
Quick reference links to the Sagan project:
1. Sagan - Get source code from GitHub
2. Sagan - Run the Sagan site application locally3. Sagan - Import Sagan project sources into your IDE of choice.
4. Sagan - Sagan Wiki
5. Live demo on - Spring.io
Learn and master in spring boot on Master in Spring Boot
Learn and master in Spring framework on Master in Spring FrameworkSpring Initializr is a great tool developed by the Spring team to bootstrap your Spring Boot projects quickly. It is an open-source project hosted on GitHub.
There are many ways to create a Spring Boot application. The simplest way is to use Spring Initializr at http://start.spring.io/, which is an online Spring Boot application generator.
Live Demo: https://start.spring.io
GitHub Repository - https://github.com/RameshMF/initializr
Documentation - Spring Initializr Reference Guide
8. Angular Spring Boot CRUD Full-Stack Application
This web application will teach you how to develop a CRUD (Create, Read, Update, Delete) Web Application (employee management system) using Angular 9 as a front-end and Spring boot, and Restful API as a backend.Features Implementation:
- Create an Employee
- Update an Employee
- List of Employees
- Delete Employee
- View Employee
9. Spring Boot Thymeleaf Hibernate CRUD Database - Real-Time Project
You will learn how to create a simple real-time project (Employee Management System) using Spring Boot and Thymeleaf.
Features:
- Implement List Employee Feature
- Implement Add Employee Feature
- Implement Update Employee Feature
- Implement Delete Employee Feature
- Implement Pagination Feature
- Implement Sorting Feature
- Implement Search Feature
10. Java Blogs Aggregator
Java Blog Aggregator is a Spring boot MVC-based web application aggregating top Java blogs, articles, and posts via RSS feed. This project was developed with the Spring Boot.
Live Demo on - https://www.topjavablogs.com/
You can clone the PetClinic application from GitHub - https://github.com/RameshMF/spring-petclinic.
Check out the readme to know more about the PetClinic application.
Read an article on - Spring Boot + Spring Security + JWT + MySQL + React Full Stack Polling App.
11. Spring PetClinic Sample Application
Pet Clinic is a https://spring.io/guides/gs/spring-boot[Spring Boot] application built using https://spring.io/guides/gs/maven/[Maven]. You can build a jar file and run it from the command line.You can clone the PetClinic application from GitHub - https://github.com/RameshMF/spring-petclinic.
Check out the readme to know more about the PetClinic application.
12. PiggyMetrics
This project uses a neat user interface to demonstrate the Microservice Architecture Pattern using Spring Boot, Spring Cloud, and Docker.
GitHub link - https://github.com/RameshMF/PiggyMetrics.
GitHub link - https://github.com/RameshMF/PiggyMetrics.
You will learn:
- Microservice Architecture
- Spring Boot
- Spring Cloud
- Docker
PiggyMetrics was decomposed into three core microservices. All of them are independently deployable applications organized around certain business domains.
13. Polling App
The full-stack polls app was built using Spring Boot, Spring Security, JWT, React, and Ant Design.
You will learn:
- Spring Boot
- Spring Data JPA
- Hibernate
- Maven
- Spring Security
- JWT
- React JS
14. Spring Boot WebSocket Chat Application
This is a Spring Boot WebSocket Chat Demo with SockJS fallback and STOMP protocol. You will learn how to use WebSocket API with Spring Boot and build a simple group chat application at the end.
Read an article on - Building a chat application with Spring Boot and WebSocket.
Source code on - https://github.com/RameshMF/spring-boot-websocket-chat-demo
15. Spring Boot Cities
This is a sample project to demonstrate building and deploying a simple Spring Boot-based microservice and a web app to consume the microservice.
You will learn:
- Spring boot
- Spring Cloud
- Microservice
- Maven
Source code on - https://github.com/cf-platform-eng/spring-boot-cities
16. Mini Todo Management Project
Spring MVC Todo Management is a web application that uses Spring Boot, Spring MVC, Spring Security, JSP, JPA, and MySQL as a database.
Tutorial link - Mini Todo Management Project using Spring Boot + Spring MVC + Spring Security + JSP + Hibernate + MySQ.
GitHub repository link - https://github.com/RameshMF/todo-management-spring-boot.
17. User Registration and Login Module
This user registration module is developed with Spring Boot, Spring Security, Hibernate, and Thymeleaf.Tools and Technologies Used:
- Spring Boot 3
- Spring MVC 6
- Spring Security 6
- Hibernate 6
- Thymeleaf 3
- MySQL 8
- Maven
Tutorial link - Spring Boot User Registration and Login Example Tutorial.
GitHub repository link - https://github.com/RameshMF/registration-login-springboot-security-thymeleaf.
18. Todo App using Spring Boot and React
You will build a simple CRUD Todo application using Java, Spring Boot, JavaScript, React JS, and MySQL database.
Features:
- Add Todo: Adds a new todo item.
- Get Todo: Retrieves a specific todo item by its ID.
- Get All Todos: Returns a list of all todo items.
- Update Todo: Updates an existing todo item based on the provided ID.
- Delete Todo: Deletes a todo item by its ID.
- Complete Todo: Marks a todo item as completed.
- In Complete Todo: Marks a todo item as incomplete.
Tutorial link - Spring Boot React Project - Todo App
I continue adding more free spring boot projects to this blog post.
Related blog posts
- Java Mini Projects with Source Code
- 10+ Free Open Source Projects Using Spring Boot
- JSP Servlet Projects with Source Code Free Download
- 20+ Free Open Source Projects Using Spring Framework
- Free Open Source Angular Projects or Templates [GitHub]
- Free Spring Boot Microservices Open Source Projects | GitHub | Download
- Free Spring Boot Angular Open Source Projects | GitHub
Learn and master in spring boot on Master in Spring Boot
Learn and master in Spring framework on Master in Spring Framework
Check out 30+ Spring boot projects with examples at https://github.com/RameshMF/spring-boot-tutorial
ReplyDeletePlease, upload mini todo management code into github link...
ReplyDeleteI have already hosted mini todo management app on my GitHub repo at https://github.com/RameshMF/todo-management-spring-boot
DeleteIf you like smart home and FRITZ!Box then take a look on Homie Center which uses Spring Boot and Angular.
ReplyDeletehttps://github.com/botorabi/HomieCenter
Please upload any rest api authentication using Spring security with client Angular 8
ReplyDeletePlease provide any e-publishing project like amazon e-kindle ,thanks in advance
ReplyDeleteI read about this website. This is a real-world app that powers the Spring.io website. It is in production and used by thousands of users each day. Your blog helps to know more about the website. Thank you for sharing this valuable information.
ReplyDeleteHire Angularjs Developer
What is the difference between https://github.com/RameshMF/initializr and the official Spring boot started repository?I mean does your version has additional features?
ReplyDeleteNo. It does not have additional features. I have forked it to place everything altogether. You can fork official spring boot initializr repository.
DeleteThis is a great resource. Thanks Ramesh!
ReplyDeletePlease give me link of crud project of employee management which includes uploading files(resume or image) to file system, renaming file according to id of employee and show file link in front of each employee at index page. Regards
ReplyDeletehi
ReplyDeleteis there someone know where i can the database of the polling app represented like a diagram
ReplyDelete