Skip to content

In this project, the Spring Boot framework was used for the backend, employing Thymeleaf as the template engine, and APIs were created using Spring Boot. Additionally, Spring Security and Hibernate are applied.

Notifications You must be signed in to change notification settings

bulithakawushika/Inventory-Management-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

Inventory Management System

This is an Inventory Management System developed using Spring Boot for the backend, HTML and CSS for the frontend, and SQL for the database. The project utilizes Thymeleaf as the template engine for server-side rendering, Spring Security for authentication and authorization, and Hibernate for ORM (Object-Relational Mapping).

Features

  • User Authentication: Secure user authentication and authorization using Spring Security.
  • CRUD Operations: Perform Create, Read, Update, and Delete operations on inventory items.
  • API Endpoints: Expose APIs for integrating with other systems or applications.
  • User Interface: User-friendly frontend interface designed using HTML and CSS.

Technologies Used

  • Spring Boot: Backend framework for creating RESTful APIs and managing dependencies.
  • Thymeleaf: Server-side Java template engine for rendering HTML templates.
  • Spring Security: Authentication and access control for securing endpoints.
  • Hibernate: ORM framework for mapping Java objects to database tables.
  • HTML and CSS: Frontend technologies for building the user interface.
  • SQL: Database language for managing data persistence.

Architecture Overview

This project follows a Layered Architecture, separating concerns into different layers:

1. Controller Layer

  • Handles incoming HTTP requests and responses.
  • Maps endpoints to service methods.

2. Service Layer

  • Contains the business logic of the application.
  • Coordinates between controllers and repositories.

3. Repository Layer

  • Handles database interactions using Hibernate ORM.
  • Performs CRUD operations on entities.

4. Entity Layer

  • Represents database tables as Java classes.

5. DTO (Data Transfer Object) Layer

  • Transfers data between layers without exposing internal entities.

Data Flow

  1. HTTP Request → Controller
  2. Controller → Service (business logic)
  3. Service → Repository (database access)
  4. Repository → Service → Controller
  5. HTTP Response → User

Setup Instructions

  1. Clone the repository: git clone <repository-url>
  2. Navigate to the project directory: cd inventory-management-system
  3. Build the project: mvn clean install
  4. Run the application: java -jar target/inventory-management-system.jar
  5. Access the application: Open your web browser and go to http://localhost:8080

Make sure you have Java and Maven installed on your system before running the application.

Contributing

Contributions are welcome! If you'd like to contribute to this project, please follow these steps:

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/YourFeature)
  3. Commit your changes (git commit -m 'Add some feature')
  4. Push to the branch (git push origin feature/YourFeature)
  5. Open a pull request

License

Free and Open Source

Acknowledgements

Special thanks to the developers of Spring Boot, Thymeleaf, Hibernate, and all other open-source technologies used in this project.

About

In this project, the Spring Boot framework was used for the backend, employing Thymeleaf as the template engine, and APIs were created using Spring Boot. Additionally, Spring Security and Hibernate are applied.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published