Skip to content

Java Webstore backend application with REST architecture.

Notifications You must be signed in to change notification settings

dpedwards/java-webstore-backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

91 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Java

SOFTWARE ENGINEERING ASSIGNMENT (ITB63-AS)

Java Webstore Backend Application

This repository contains the source code for a Java webstore backend application, designed as part of the ITB63-AS software engineering assignment. The application provides a suite of RESTful services to manage products, warehouses, and orders for an online store.

Credits

Creator

  • Davain Pablo Edwards

Environment Requirements

To run this application, you will need:

Getting Started

To get started with the Java Webstore Backend Application:

  1. Update the MySQL database connection: java-webstore-backend\rest-api\src\main\resources\application.properties

    and create the database via the warehouse_database_uuid_de.sql file.

  2. Navigate to the project directory (optional):

    cd java-webstore-backend/rest-api
    
  3. Build the project (optional):

    ./gradlew build  # For Unix/Linux/Mac
    gradlew.bat build  # For Windows
    
  4. Run the application (optional):

    ./gradlew bootRun  # For Unix/Linux/Mac
    gradlew.bat bootRun  # For Windows
    
  5. Run the REST-API with Visual Studio Code Extension Pack for Java and Gradle for Java Plugins and execute java-webstore-backend\rest-api\src\main\java\de\webstore\backend\Application.java

  6. Access Swagger API docs:

    http://localhost:8080/swagger-ui/index.html

Project Structure The project is structured as follows:

java-webstore-backend
├─ .git
├─ .gitignore
├─ .vscode
│  └─ settings.json
├─ assets
│  ├─ warehouse_database.db
│  ├─ warehouse_database_de.sql
│  ├─ warehouse_database_en.sql
│  ├─ warehouse_database_test.sql
│  └─ warehouse_database_uuid_de.sql
├─ README.md
└─ rest-api
   ├─ .gitignore
   ├─ .gradle
   │  ├─ 8.5
   │  │  ├─ checksums
   │  │  │  ├─ checksums.lock
   │  │  │  ├─ md5-checksums.bin
   │  │  │  └─ sha1-checksums.bin
   │  │  ├─ dependencies-accessors
   │  │  │  ├─ dependencies-accessors.lock
   │  │  │  └─ gc.properties
   │  │  ├─ executionHistory
   │  │  │  ├─ executionHistory.bin
   │  │  │  └─ executionHistory.lock
   │  │  ├─ fileChanges
   │  │  │  └─ last-build.bin
   │  │  ├─ fileHashes
   │  │  │  ├─ fileHashes.bin
   │  │  │  ├─ fileHashes.lock
   │  │  │  └─ resourceHashesCache.bin
   │  │  ├─ gc.properties
   │  │  └─ vcsMetadata
   │  ├─ buildOutputCleanup
   │  │  ├─ buildOutputCleanup.lock
   │  │  ├─ cache.properties
   │  │  └─ outputFiles.bin
   │  ├─ file-system.probe
   │  └─ vcs-1
   │     └─ gc.properties
   ├─ .vscode
   │  └─ settings.json
   ├─ build
   │  ├─ classes
   │  │  └─ java
   │  │     ├─ main
   │  │     │  └─ de
   │  │     │     └─ webstore
   │  │     │        └─ backend
   │  │     │           ├─ Application.class
   │  │     │           ├─ config
   │  │     │           │  └─ DatabaseConnection.class
   │  │     │           ├─ controller
   │  │     │           │  ├─ OrderController.class
   │  │     │           │  ├─ ProductController.class
   │  │     │           │  └─ WarehouseController.class
   │  │     │           ├─ dto
   │  │     │           │  ├─ OrderDTO.class
   │  │     │           │  ├─ PositionDTO.class
   │  │     │           │  ├─ ProductDTO.class
   │  │     │           │  ├─ ProductUpdateDTO.class
   │  │     │           │  └─ WarehouseDTO.class
   │  │     │           ├─ exception
   │  │     │           │  ├─ ErrorResponse.class
   │  │     │           │  ├─ InsufficientStockException.class
   │  │     │           │  ├─ OrderClosedException.class
   │  │     │           │  ├─ OrderNotFoundException.class
   │  │     │           │  ├─ PositionNotFoundException.class
   │  │     │           │  ├─ ProductInOrderException.class
   │  │     │           │  ├─ ProductNotFoundException.class
   │  │     │           │  └─ WarehouseNotFoundException.class
   │  │     │           └─ service
   │  │     │              ├─ OrderService.class
   │  │     │              ├─ ProductService.class
   │  │     │              └─ WarehouseService.class
   │  │     └─ test
   │  ├─ generated
   │  │  └─ sources
   │  │     ├─ annotationProcessor
   │  │     │  └─ java
   │  │     │     └─ main
   │  │     └─ headers
   │  │        └─ java
   │  │           └─ main
   │  ├─ resources
   │  │  └─ main
   │  │     └─ application.properties
   │  └─ tmp
   │     ├─ compileJava
   │     │  ├─ compileTransaction
   │     │  │  ├─ backup-dir
   │     │  │  └─ stash-dir
   │     │  │     ├─ OrderController.class.uniqueId0
   │     │  │     └─ OrderService.class.uniqueId1
   │     │  └─ previous-compilation-data.bin
   │     └─ compileTestJava
   │        └─ compileTransaction
   │           ├─ backup-dir
   │           └─ stash-dir
   │              └─ WarehouseServiceTest.class.uniqueId0
   ├─ build.gradle
   ├─ gradle
   │  └─ wrapper
   │     ├─ gradle-wrapper.jar
   │     └─ gradle-wrapper.properties
   ├─ gradlew
   ├─ gradlew.bat
   ├─ HELP.md
   ├─ settings.gradle
   └─ src
      ├─ main
      │  ├─ java
      │  │  └─ de
      │  │     └─ webstore
      │  │        └─ backend
      │  │           ├─ Application.java
      │  │           ├─ config
      │  │           │  └─ DatabaseConnection.java
      │  │           ├─ controller
      │  │           │  ├─ OrderController.java
      │  │           │  ├─ ProductController.java
      │  │           │  └─ WarehouseController.java
      │  │           ├─ dto
      │  │           │  ├─ OrderDTO.java
      │  │           │  ├─ PositionDTO.java
      │  │           │  ├─ ProductDTO.java
      │  │           │  ├─ ProductUpdateDTO.java
      │  │           │  └─ WarehouseDTO.java
      │  │           ├─ exception
      │  │           │  ├─ ErrorResponse.java
      │  │           │  ├─ InsufficientStockException.java
      │  │           │  ├─ OrderClosedException.java
      │  │           │  ├─ OrderNotFoundException.java
      │  │           │  ├─ PositionNotFoundException.java
      │  │           │  ├─ ProductInOrderException.java
      │  │           │  ├─ ProductNotFoundException.java
      │  │           │  └─ WarehouseNotFoundException.java
      │  │           └─ service
      │  │              ├─ OrderService.java
      │  │              ├─ ProductService.java
      │  │              └─ WarehouseService.java
      │  └─ resources
      └─ test
         └─ java
            └─ de
               └─ webstore
                  └─ backend

License This project is licensed under the GNU General Public License Version 3.

Copyright (c) 2024 Davain Pablo Edwards

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

About

Java Webstore backend application with REST architecture.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages