The Liveasy Logistics Backend is a robust Spring Boot application developed using Java, Spring MVC, JPA Hibernate, and PostgreSQL. It serves as the backbone for managing loads, user profiles, and related functionalities. The application is deployed on AWS (Elastic Beanstalk) with a PostgreSQL database, ensuring scalability and reliability.
-
Load Management: Execute CRUD operations on loads, enabling users to efficiently handle and organize their logistics data. Filter loads based on loading point, unloading point, and product type.
-
Topic Filtering: Employ advanced filtering options to streamline load searches. Users can filter loads based on loading point, unloading point, and total weight, enhancing the precision of search results.
-
User Profile Management: Seamlessly create and manage user profiles, allowing users to track previous loads and apply filters based on total weight. Additionally, users can save profile pictures to Cloudinary for a personalized experience.
-
Deployment on AWS: The application is deployed on AWS Elastic Beanstalk, ensuring high availability and reliability. The PostgreSQL database is also hosted on AWS to provide a complete and scalable solution.
- Java
- Spring Boot
- Spring MVC
- JPA Hibernate
- PostgreSQL (Database)
- SQL Queries
- Swagger API Docs
- Thymeleaf (for user interface)
- Cloudinary API (for profile image management)
- AWS (Elastic Beanstalk)
Before getting started, ensure you have the following installed:
- Java Development Kit (JDK): Download JDK
- PostgreSQL Database: Download PostgreSQL
- Apache Maven: Download Apache Maven
- Cloudinary API Key and Secret: Obtain API Key and Secret from Cloudinary
The application is deployed on AWS Elastic Beanstalk. Access the deployed application and Swagger API documentation:
- Application Home Page: Homepage
- Swagger API on AWS: Swagger Docs
- Clone the Repository:
git clone https://github.com/Harsh-Srivastav123/LogisticsBackend.git
- Configure Database & Application Properties:
spring.datasource.url=#url spring.datasource.username=#username spring.datasource.password=#password spring.jpa.hibernate.ddl-auto=update spring.jpa.generate-ddl=true spring.main.allow-circular-references=true spring.jpa.show.sql=true spring.jpa.format.sql=true spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect spring.servlet.multipart.max-file-size=10MB spring.servlet.multipart.max-request-size=10MB
- Configure Cloudinary Configuration:
config.put("cloud_name", ""); config.put("api_key", ""); config.put("api_secret", ""); config.put("secure", true);
Access the Swagger UI for easy API documentation and testing:
http://localhost:8080/swagger-ui/index.html