Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Spring Boot Learning – REST API & CRUD with Spring Data JPA

A beginner-friendly Spring Boot project built to learn the fundamentals of backend development using Spring Boot, Spring Data JPA, and the H2 Database.

This project follows a layered architecture and implements complete CRUD (Create, Read, Update, Delete) operations for products. The code is written with detailed comments to understand the purpose of important classes, annotations, and methods.


🚀 Features

  • RESTful API development
  • Complete CRUD Operations
  • Spring Boot MVC
  • Spring Data JPA
  • Hibernate ORM
  • H2 In-Memory Database
  • Layered Architecture
  • Lombok Integration
  • Well-commented code for learning
  • Maven Project

🛠️ Tech Stack

  • Java
  • Spring Boot
  • Spring Data JPA
  • Hibernate
  • H2 Database
  • Maven
  • Lombok

📂 Project Structure

src
├── main
│   ├── java
│   │   └── com.bappy.webApp
│   │       ├── Controller
│   │       ├── Service
│   │       ├── Repo
│   │       ├── Model
│   │       └── WebAppApplication.java
│   └── resources
│       └── application.properties
└── test

📌 CRUD APIs

Method Endpoint Description
GET /products Get all products
GET /product/{id} Get product by ID
POST /product Create a new product
PUT /product Update an existing product
DELETE /product/{id} Delete a product

Endpoint names may vary slightly depending on the controller implementation.


🗄️ Database

This project uses the H2 In-Memory Database for development and learning.

Configuration is available in:

src/main/resources/application.properties

H2 Console:

http://localhost:8080/h2-console

▶️ Running the Project

Clone the repository

git clone https://github.com/bappy-mallick/springboot-learning.git

Navigate into the project

cd springboot-learning

Run the application

./mvnw spring-boot:run

or simply run the project from your IDE.


📚 Concepts Practiced

  • Spring Boot Fundamentals
  • REST APIs
  • Controllers
  • Services
  • Repository Layer
  • Dependency Injection
  • Spring Beans
  • Spring Data JPA
  • Hibernate ORM
  • Entity Mapping
  • CRUD Operations
  • H2 Database
  • Maven Project Structure
  • Lombok

🎯 Purpose

This repository is a personal learning project created to understand backend development with Spring Boot.

The primary goal is to build a strong foundation before developing larger backend projects such as an E-commerce Backend and other production-ready applications.


👨‍💻 Author

Bappy Mallick

GitHub: https://github.com/bappy-mallick


⭐ If you found this repository helpful, consider giving it a star.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages