This is a Product Management application built with Spring Boot (v3.3.0), MySQL for data storage, and Spring Security integrated with JWT authentication and role-based authorization.
- Introduction
- Features
- Technologies Used
- Getting Started
- Configuration
- Database Schema
- API Endpoints
- Postman Collection
- Security
- Contributing
- License
This application allows an admin to manage merchants and merchants to manage their products. Both admin and merchants need to be authenticated using JWT tokens before performing any operations.
-
Admin:
- Add new merchants
- List all merchants
- Delete a merchant
- Login
-
Merchant:
- Add new products
- List all products
- Delete a product
- Login
- Spring Boot 3.3.0: Framework for building Java applications.
- Spring Security: Provides authentication and authorization.
- JWT Authentication: Secure token-based authentication mechanism.
- MySQL: Relational database management system.
- JPA/Hibernate: Java Persistence API for ORM (Object-Relational Mapping).
- Maven: Build and dependency management tool.
- Java 17 or higher: Install Java Development Kit (JDK) from Oracle's official website.
- Maven: Download from official Maven website or install via your package manager.
- MySQL: Download and install from official MySQL website.
-
Clone the repository
git clone https://github.com/aravindraj777/famto-product.git cd backend
-
Configure the database Configure your database in application.properties or application.yml file.
-
Build the project mvn clean install
-
Run the application mvn spring-boot:run
For detailed API documentation, please refer to the Postman collection linked below.
The API endpoints are documented in a Postman collection. You can view and import the collection using the following link: