https://github.com/fji132/product-springboot-mvc-app
Manage products effortlessly with the Product-Spring-MVC app. Built with Spring Boot and Thymeleaf, it ensures secure access and a responsive UI. 🌟🛠️
https://github.com/fji132/product-springboot-mvc-app
java jpa jpa-entities jpa-entity-manager jpa-hibernate jpa-repository lombock maven spring-boot spring-data spring-data-jpa spring-mvc spring-security thymeleaf thymeleaf-java thymeleaf-layout thymeleaf-template-engine
Last synced: 1 day ago
JSON representation
Manage products effortlessly with the Product-Spring-MVC app. Built with Spring Boot and Thymeleaf, it ensures secure access and a responsive UI. 🌟🛠️
- Host: GitHub
- URL: https://github.com/fji132/product-springboot-mvc-app
- Owner: fji132
- Created: 2025-06-27T17:22:05.000Z (2 days ago)
- Default Branch: main
- Last Pushed: 2025-06-27T20:55:07.000Z (2 days ago)
- Last Synced: 2025-06-27T21:34:57.434Z (2 days ago)
- Topics: java, jpa, jpa-entities, jpa-entity-manager, jpa-hibernate, jpa-repository, lombock, maven, spring-boot, spring-data, spring-data-jpa, spring-mvc, spring-security, thymeleaf, thymeleaf-java, thymeleaf-layout, thymeleaf-template-engine
- Language: Java
- Homepage: https://fji132.github.io
- Size: 188 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Product Management Spring Boot MVC Application 🌟
   
## Table of Contents
- [Overview](#overview)
- [Features](#features)
- [Technologies Used](#technologies-used)
- [Getting Started](#getting-started)
- [Usage](#usage)
- [API Endpoints](#api-endpoints)
- [Database Schema](#database-schema)
- [Contributing](#contributing)
- [License](#license)## Overview
This repository hosts a **Spring Boot MVC web application** designed for managing products. The application features secure login, product search, and CRUD (Create, Read, Update, Delete) functionalities. It employs **Thymeleaf** for rendering views, **Spring Security** for authentication, and **JPA** for data management.
You can download and execute the latest release of the application from [here](https://github.com/fji132/product-springboot-mvc-app/releases).
## Features
- **User Authentication**: Secure login and registration process.
- **Product Management**: Add, edit, delete, and view products.
- **Search Functionality**: Search products by name or category.
- **Responsive Design**: Built with Bootstrap 5 for a mobile-friendly experience.
- **RESTful API**: Access product data through a REST API.
- **Data Persistence**: Uses JPA for database interactions.
- **Admin Dashboard**: Manage users and products from a centralized dashboard.## Technologies Used
This project utilizes a range of technologies to provide a seamless experience:
- **Java 11**: The primary programming language.
- **Spring Boot**: Framework for building the application.
- **Spring MVC**: Handles web requests and responses.
- **Spring Security**: Provides authentication and authorization.
- **Spring Data JPA**: Simplifies data access and manipulation.
- **Thymeleaf**: Template engine for rendering HTML.
- **Bootstrap 5**: Front-end framework for responsive design.
- **Maven**: Dependency management and build tool.
- **Lombok**: Reduces boilerplate code in Java.## Getting Started
To get started with this application, follow these steps:
### Prerequisites
- Java 11 or higher
- Maven 3.6.3 or higher
- An IDE (e.g., IntelliJ IDEA, Eclipse)### Clone the Repository
Clone this repository to your local machine:
```bash
git clone https://github.com/fji132/product-springboot-mvc-app.git
cd product-springboot-mvc-app
```### Build the Application
Use Maven to build the application:
```bash
mvn clean install
```### Run the Application
After building the application, you can run it using the following command:
```bash
mvn spring-boot:run
```The application will start on `http://localhost:8080`.
## Usage
Once the application is running, navigate to `http://localhost:8080` in your web browser. You will be greeted with the login page. Use the following credentials to log in:
- **Username**: admin
- **Password**: passwordAfter logging in, you can manage products, view the product list, and perform searches.
### User Roles
- **Admin**: Full access to manage users and products.
- **User**: Limited access to view products.## API Endpoints
The application exposes several RESTful API endpoints for product management. Below are the key endpoints:
| Method | Endpoint | Description |
|--------|---------------------------|---------------------------------|
| GET | /api/products | Retrieve all products |
| GET | /api/products/{id} | Retrieve a product by ID |
| POST | /api/products | Create a new product |
| PUT | /api/products/{id} | Update an existing product |
| DELETE | /api/products/{id} | Delete a product |## Database Schema
The application uses a relational database to store product information. Below is a simplified version of the database schema:
### Product Table
| Column Name | Data Type | Constraints |
|--------------|-------------|----------------------|
| id | Long | Primary Key |
| name | String | Not Null |
| description | String | |
| price | BigDecimal | Not Null |
| created_at | Timestamp | Default: Current Time|
| updated_at | Timestamp | |## Contributing
Contributions are welcome! If you would like to contribute, please follow these steps:
1. Fork the repository.
2. Create a new branch (`git checkout -b feature/YourFeature`).
3. Make your changes.
4. Commit your changes (`git commit -m 'Add some feature'`).
5. Push to the branch (`git push origin feature/YourFeature`).
6. Open a pull request.## License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
You can also check the "Releases" section for updates and new features. For the latest release, visit [here](https://github.com/fji132/product-springboot-mvc-app/releases).