Hello Shoes Management System is a comprehensive application designed to manage the operations of a shoe store. The system allows different types of users (regular and admin) to log in and perform specific actions based on their roles.
- Log In: Users can log in as either a regular user or an admin user.
- View Inventory: All users can check the inventory and view data according to each status.
- Edit Inventory: Only admin users can edit the inventory data.
- Enter Item Code: Regular users can enter the item code to proceed with a sale.
- Confirm Purchase: Users can confirm the purchase after adding all the items.
- Payment Processing:
- Card Payment: Enter the last four digits of the card and bank name to process payment via the incorporated payment gateway.
- Cash Payment: Enter the amount paid by the customer and return the balance if available.
- Update and Delete Items: Admin users can update and delete shoe data, except after the payment is confirmed.
- Eligibility: Items purchased within three days, including tags, are eligible for a refund.
- Inspection: A cashier or allocated staff member checks for any damage.
- Process Refund: Enter admin credentials to complete the refund process after inspection.
- Loyalty Card Details: Save customer details if they have a loyalty card. Load data to the payment page when valid.
- Edit Details: Only admin users can edit customer details.
- View Details: All users can view employee and supplier details.
- Edit Details: Only admin users can edit employee and supplier details.
- Sale Service: Manages the sales operations.
- Suppliers Service: Handles supplier information.
- Customer Service: Manages customer details.
- Employee Service: Handles employee information.
- Inventory Service: Manages inventory data.
- Admin Panel Service: Provides admin functionalities.
- User Service: Manages user authentication and roles.
- Spring Boot: Framework for building the application.
- Spring Data: For data access and management.
- Spring Web MVC: For web-based interactions.
- Spring Validation: For validating user inputs.
- Spring Security: For securing the application.
- Lombok: To reduce boilerplate code.
- Model Mapper: For object mapping.
- Jackson: For JSON processing.
- MySQL: As the database.
- JWT: For handling JSON Web Tokens for authentication.
To get started with the Hello Shoes Management System, follow these steps:
-
Clone the Repository:
git clone https://github.com/viniduminsara/Hello_Shoe_Management_System_Backend.git
-
Navigate to the Project Directory:
cd helloshoes-management-system
-
Build the Project:
./mvnw clean install
-
Run the Application:
./mvnw spring-boot:run
Configure the application by editing the application.properties
file located in the src/main/resources
directory.
# Database Configuration
spring.datasource.url=your_database_url
spring.datasource.username=your_username
spring.datasource.password=your_password
# JWT Configuration
token.key==your_jwt_secret
# SMTP settings
spring.mail.username=your_mail_username
spring.mail.password=your_mail_app_password
API documentation can be accessed at https://documenter.getpostman.com/view/30897079/2sA3Qv8r3M
This project is licensed under the MIT License. See the LICENSE file for more details.