Browse Source

Merge remote-tracking branch 'origin/master' into feature/module_tests

pull/132/head
Lukas Fürderer 2 years ago
parent
commit
6a23759bbc
  1. 123485
      doc/charter/charter.fodt
  2. BIN
      doc/charter/charter.pdf
  3. 479
      mockup-css/css/ecom.css
  4. 124
      mockup-css/ecom-frontpage.html
  5. 158
      mockup-css/form-view.html
  6. 48
      mockup-css/login.html
  7. BIN
      mockup-css/pics/product-1.jpg
  8. BIN
      mockup-css/pics/product-2.jpg
  9. BIN
      mockup-css/pics/product-3.jpg
  10. BIN
      mockup-css/pics/product-4.jpg
  11. BIN
      mockup-css/pics/product-5.jpg
  12. BIN
      mockup-css/pics/product-6.jpg
  13. BIN
      mockup-css/pics/product-7.jpg
  14. 1
      mockup-css/undraw/undraw_successful_purchase_secondary.svg
  15. 0
      web_backend/.gitignore
  16. 0
      web_backend/build.gradle
  17. 0
      web_backend/gradle/wrapper/gradle-wrapper.jar
  18. 0
      web_backend/gradle/wrapper/gradle-wrapper.properties
  19. 0
      web_backend/gradlew
  20. 0
      web_backend/gradlew.bat
  21. 0
      web_backend/scripts/addarticles.sql
  22. 0
      web_backend/scripts/addsupplier.sql
  23. 0
      web_backend/scripts/addsupplierorders.sql
  24. 0
      web_backend/scripts/addusers.sql
  25. 0
      web_backend/settings.gradle
  26. 0
      web_backend/src/main/java/org/hso/ecommerce/action/booking/CreateBookingAction.java
  27. 0
      web_backend/src/main/java/org/hso/ecommerce/action/cronjob/ReadSupplierDataAction.java
  28. 0
      web_backend/src/main/java/org/hso/ecommerce/action/cronjob/ReorderAction.java
  29. 0
      web_backend/src/main/java/org/hso/ecommerce/action/cronjob/UpdateOffersAction.java
  30. 0
      web_backend/src/main/java/org/hso/ecommerce/action/shop/CreateOrderAction.java
  31. 0
      web_backend/src/main/java/org/hso/ecommerce/action/shop/EnableTrackingAction.java
  32. 0
      web_backend/src/main/java/org/hso/ecommerce/action/shop/GetRandomArticlesAction.java
  33. 0
      web_backend/src/main/java/org/hso/ecommerce/action/shop/SearchByTermAction.java
  34. 0
      web_backend/src/main/java/org/hso/ecommerce/action/user/CreateDeliveryData.java
  35. 0
      web_backend/src/main/java/org/hso/ecommerce/action/user/UpdateUserSettingsAction.java
  36. 0
      web_backend/src/main/java/org/hso/ecommerce/action/warehouse/CalculateWarehouseStatsAction.java
  37. 0
      web_backend/src/main/java/org/hso/ecommerce/action/warehouse/CreateManuelBookingAction.java
  38. 0
      web_backend/src/main/java/org/hso/ecommerce/action/warehouse/SupplierOrderArrivedAction.java
  39. 0
      web_backend/src/main/java/org/hso/ecommerce/api/RestServiceForDelivery.java
  40. 0
      web_backend/src/main/java/org/hso/ecommerce/api/SupplierService.java
  41. 0
      web_backend/src/main/java/org/hso/ecommerce/api/data/Article.java
  42. 0
      web_backend/src/main/java/org/hso/ecommerce/api/data/Order.java
  43. 0
      web_backend/src/main/java/org/hso/ecommerce/api/data/OrderConfirmation.java
  44. 0
      web_backend/src/main/java/org/hso/ecommerce/api/data/Supplier.java
  45. 0
      web_backend/src/main/java/org/hso/ecommerce/api/data/SupplierDiscount.java
  46. 0
      web_backend/src/main/java/org/hso/ecommerce/app/Application.java
  47. 0
      web_backend/src/main/java/org/hso/ecommerce/app/Config.java
  48. 0
      web_backend/src/main/java/org/hso/ecommerce/app/config/AppSettings.java
  49. 0
      web_backend/src/main/java/org/hso/ecommerce/app/config/YAMLData.java
  50. 0
      web_backend/src/main/java/org/hso/ecommerce/components/AdminInitializer.java
  51. 0
      web_backend/src/main/java/org/hso/ecommerce/components/ErrorDemoInterceptor.java
  52. 0
      web_backend/src/main/java/org/hso/ecommerce/components/InfoDemoInterceptor.java
  53. 0
      web_backend/src/main/java/org/hso/ecommerce/components/LoginIntercepter.java
  54. 0
      web_backend/src/main/java/org/hso/ecommerce/components/ShoppingCartInterceptor.java
  55. 0
      web_backend/src/main/java/org/hso/ecommerce/components/SlotInitializer.java
  56. 0
      web_backend/src/main/java/org/hso/ecommerce/components/SupplierInitializer.java
  57. 0
      web_backend/src/main/java/org/hso/ecommerce/controller/LoginController.java
  58. 0
      web_backend/src/main/java/org/hso/ecommerce/controller/RegisterController.java
  59. 0
      web_backend/src/main/java/org/hso/ecommerce/controller/UserController.java
  60. 0
      web_backend/src/main/java/org/hso/ecommerce/controller/cronjob/AutoSupplierPayment.java
  61. 0
      web_backend/src/main/java/org/hso/ecommerce/controller/cronjob/CronjobController.java
  62. 0
      web_backend/src/main/java/org/hso/ecommerce/controller/cronjob/DashboardCronjob.java
  63. 0
      web_backend/src/main/java/org/hso/ecommerce/controller/cronjob/ICronjob.java
  64. 0
      web_backend/src/main/java/org/hso/ecommerce/controller/cronjob/Reorder.java
  65. 0
      web_backend/src/main/java/org/hso/ecommerce/controller/cronjob/ScheduledCronjob.java
  66. 0
      web_backend/src/main/java/org/hso/ecommerce/controller/intern/DashboardController.java
  67. 0
      web_backend/src/main/java/org/hso/ecommerce/controller/intern/InternArticleController.java
  68. 0
      web_backend/src/main/java/org/hso/ecommerce/controller/intern/InternIndexController.java
  69. 0
      web_backend/src/main/java/org/hso/ecommerce/controller/intern/WarehouseController.java
  70. 0
      web_backend/src/main/java/org/hso/ecommerce/controller/intern/accounting/AccountingController.java
  71. 0
      web_backend/src/main/java/org/hso/ecommerce/controller/intern/accounting/ManualAccountingController.java
  72. 0
      web_backend/src/main/java/org/hso/ecommerce/controller/intern/customers/CustomerOrderController.java
  73. 0
      web_backend/src/main/java/org/hso/ecommerce/controller/intern/customers/CustomersIndexController.java
  74. 0
      web_backend/src/main/java/org/hso/ecommerce/controller/intern/suppliers/SupplierIndexController.java
  75. 0
      web_backend/src/main/java/org/hso/ecommerce/controller/intern/suppliers/SupplierOfferController.java
  76. 0
      web_backend/src/main/java/org/hso/ecommerce/controller/intern/suppliers/SupplierOrderController.java
  77. 0
      web_backend/src/main/java/org/hso/ecommerce/controller/intern/warehouse/ManuelBookingController.java
  78. 0
      web_backend/src/main/java/org/hso/ecommerce/controller/intern/warehouse/SlotsController.java
  79. 0
      web_backend/src/main/java/org/hso/ecommerce/controller/intern/warehouse/TodoController.java
  80. 14
      web_backend/src/main/java/org/hso/ecommerce/controller/shop/ShopArticleController.java
  81. 20
      web_backend/src/main/java/org/hso/ecommerce/controller/shop/ShopCheckoutController.java
  82. 0
      web_backend/src/main/java/org/hso/ecommerce/controller/shop/ShopIndexController.java
  83. 0
      web_backend/src/main/java/org/hso/ecommerce/controller/shop/ShopSearchController.java
  84. 0
      web_backend/src/main/java/org/hso/ecommerce/entities/booking/Booking.java
  85. 0
      web_backend/src/main/java/org/hso/ecommerce/entities/booking/BookingAccountEntry.java
  86. 0
      web_backend/src/main/java/org/hso/ecommerce/entities/booking/BookingReason.java
  87. 0
      web_backend/src/main/java/org/hso/ecommerce/entities/booking/CustomerPayment.java
  88. 0
      web_backend/src/main/java/org/hso/ecommerce/entities/booking/PaymentMethod.java
  89. 0
      web_backend/src/main/java/org/hso/ecommerce/entities/cron/BackgroundJob.java
  90. 0
      web_backend/src/main/java/org/hso/ecommerce/entities/dashboard/DashboardSummary.java
  91. 0
      web_backend/src/main/java/org/hso/ecommerce/entities/shop/Address.java
  92. 0
      web_backend/src/main/java/org/hso/ecommerce/entities/shop/Article.java
  93. 0
      web_backend/src/main/java/org/hso/ecommerce/entities/shop/Category.java
  94. 0
      web_backend/src/main/java/org/hso/ecommerce/entities/shop/CustomerOrder.java
  95. 0
      web_backend/src/main/java/org/hso/ecommerce/entities/shop/CustomerOrderPosition.java
  96. 0
      web_backend/src/main/java/org/hso/ecommerce/entities/shop/Image.java
  97. 10
      web_backend/src/main/java/org/hso/ecommerce/entities/shop/ShoppingCart.java
  98. 0
      web_backend/src/main/java/org/hso/ecommerce/entities/supplier/ArticleOffer.java
  99. 0
      web_backend/src/main/java/org/hso/ecommerce/entities/supplier/Supplier.java
  100. 0
      web_backend/src/main/java/org/hso/ecommerce/entities/supplier/SupplierOrder.java
  101. Some files were not shown because too many files have changed in this diff Show More

123485
doc/charter/charter.fodt

File diff suppressed because it is too large Load Diff

BIN
doc/charter/charter.pdf

Binary file not shown.

479
mockup-css/css/ecom.css

@ -1,479 +0,0 @@
:root {
font-family: "Fira Sans";
line-height: 1.15;
--u5: calc(1em * 1.5 * 1.5 * 1.5 * 1.5 * 1.5 );
--u4: calc(1em * 1.5 * 1.5 * 1.5 * 1.5);
--u3: calc(1em * 1.5 * 1.5 * 1.5);
--u2: calc(1em * 1.5 * 1.5);
--u1: calc(1em * 1.5);
--u0: calc(1em);
--u-1: calc(1em * 0.666);
--u-2: calc(1em * 0.666 * 0.666);
--u-3: calc(1em * 0.666 * 0.666 * 0.666);
--u-4: calc(1em * 0.666 * 0.666 * 0.666 * 0.666);
--root-c-base: #ecf0f1;
--root-c-base-highlight: #bdc3c7;
--root-c-primary: #1abc9c;
--root-c-primary-highlight: #16a085;
--root-c-secondary: #9b59b6;
--root-c-secondary-highlight: #8e44ad;
--root-c-black: #2c3e50;
--root-c-black-highlight: #34495e;
--c-base: var(--root-c-base);
--c-base-highlight: var(--root-c-base-highlight);
--c-primary:var(--root-c-primary);
--c-primary-highlight: var(--root-c-primary-highlight);
--c-secondary: var(--c-secondary);
--c-secondary-highlight: var(--root-c-secondary-highlight);
--c-black: var(--root-c-black);
--c-black-highlight: var(--root-c-black-highlight);
}
.primary {
--c-base: var(--root-c-base);
--c-base-highlight: var(--root-c-base-highlight);
--c-primary:var(--root-c-primary);
--c-primary-highlight: var(--root-c-primary-highlight);
--c-secondary: var(--c-secondary);
--c-secondary-highlight: var(--root-c-secondary-highlight);
--c-black: var(--root-c-black);
--c-black: var(--root-c-black-highlight);
}
.secondary {
--c-base: var(--root-c-base);
--c-base-highlight: var(--root-c-base-highlight);
--c-primary:var(--root-c-secondary);
--c-primary-highlight: var(--root-c-secondary-highlight);
--c-secondary: var(--root-c-primary);
--c-secondary-highlight: var(--root-c-primary-highlight);
--c-black: var(--root-c-black);
--c-black-highlight: var(--root-c-black-highlight);
}
.inverted {
--c-base: var(--root-c-black);
--c-base-highlight: var(--root-c-black-highlight);
--c-primary:var(--root-c-primary);
--c-primary-highlight: var(--root-c-primary-highlight);
--c-secondary: var(--c-secondary);
--c-secondary-highlight: var(--root-c-secondary-highlight);
--c-black: var(--root-c-base);
--c-black-highlight: var(--root-c-base-highlight);
}
* {
margin: 0em;
padding: 0em;
box-sizing: border-box;
}
html, body {
font-size: var(--u0);
height: 100%;
background-color: var(--c-base);
color: var(--c-black)
}
main {
min-height: 100%;
}
h1, h2, h3, h4, h5 {
font-family: "Fira Mono";
padding-top: 1em;
padding-bottom: 0.618em;
text-transform: uppercase;
}
p {
padding-top: 1em;
}
h1 {
font-size: var(--u2);
}
h2 {
font-size: var(--u1);
}
h3, h4, h5 {
font-size: var(--u0);
}
img {
width: 100%;
object-fit: cover;
}
li {
list-style-type: none;
}
table {
width: 100%;
border-collapse: collapse;
}
table td,
table th {
padding: var(--u0);
text-align: center;
}
table th {
background-color: var(--c-primary);
color: var(--c-base);
}
table tr:nth-child(2n+1) {
background-color: var(--c-base-highlight);
}
/*
* NAV
*/
nav {
}
nav h1 {
font-size: var(--u0);
margin: 0rem;
}
nav li {
display: flex;
flex-direction: column;
}
nav li li {
margin-left: var(--u0);
}
nav li a {
padding: var(--u0);
transition: all 0.1s ease-out;
}
nav li a:hover,
nav li a.selected {
padding: var(--u0);
background-color: var(--c-primary);
color: var(--c-base);
}
/*
* FOOTER
*/
footer {
padding-top: var(--u3);
padding-bottom: var(--u1);
}
/*
* INPUTS
*/
form * {
width: 100%;
}
input[type="text"],
input[type="password"] {
background-color: var(--c-base);
border: none;
border-radius: var(--u-2);
margin-top: var(--u0);
margin-bottom: var(--u0);
padding: var(--u0);
font-size: var(--u0);
color: var(--c-black);
/* box-shadow: var(--s-0-secondary); */
}
input[type="text"]::placeholder,
input[type="password"]::placeholder {
color: var(--c-primary-highlight);
opacity: 50%;
}
button, .button {
font-family: "Fira Mono";
font-weight: bold;
background-color: var(--c-primary);
color: var(--c-base);
border: none;
border-radius: var(--u-2);
margin-bottom: var(--u0);
margin-top: var(--u0);
padding: var(--u0);
min-width: 10em;
font-family: "Fira Mono";
text-transform: uppercase;
font-size: var(--u0);
/* box-shadow: var(--s-0-secondary); */
}
button:active, .button:active {
background-color: var(--c-primary-highlight);
}
input[type="text"],
input[type="password"],
button,
.button {
transition: all 0.1s ease-out;
}
label {
display: block;
min-width: 10em;
font-weight: bold;
}
/*
* HERO
*/
.hero {
background-color: var(--c-primary);
color: var(--c-base);
}
.hero-black {
background-color: var(--c-black);
color: var(--c-base);
}
/*
* LAYOUT
*/
.content-width {
max-width: 80rem;
margin-left: auto;
margin-right: auto;
padding-left: var(--u0);
padding-right: var(--u0);
}
.bar-flex {
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
}
.bar-flex > * {
margin: var(--u0);
}
.bar-flex > .spacer {
flex: 1;
}
.sidebar-layout {
display: flex;
align-items: stretch;
justify-content: center;
flex-wrap: wrap;
}
.sidebar-layout > *:nth-child(2) {
flex: 1;
}
.grid {
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
}
.grid.vertical-center {
align-items: center;
height: 100%;
}
.grid.center {
justify-content: space-around;
}
.grid > * {
flex: 1;
margin: var(--u0);
padding: var(--u0);
border-radius: var(--u0);
}
.grid.base > * {
background-color: var(--c-base);
color: var(--c-black);
}
.grid.black > * {
background-color: var(--c-black);
color: var(--c-base);
}
.grid.primary > * {
background-color: var(--c-primary);
color: var(--c-base);
}
.grid.secondary > * {
background-color: var(--c-primary-highlight);
color: var(--c-base);
}
.hero-primary .grid.shadow > * {
/* box-shadow: var(--s-0-secondary); */
}
.hero-black .grid.shadow > * {
/* box-shadow: var(--s-0-secondary); */
}
.grid.s > .spacer {
box-shadow: none;
margin: calc(var(--u0) * 2);
padding: 0px;
width: 10rem;
max-width: 10rem;
min-width: 7.5rem;
height: 0px;
}
.grid.s > * {
max-width: 10rem;
min-width: 7.5rem;
}
.grid.m > .spacer {
box-shadow: none;
margin: calc(var(--u0) * 2);
padding: 0px;
width: 20rem;
max-width: 20rem;
min-width: 15rem;
height: 0px;
padding: 0px;
}
.grid.m > * {
width: 20rem;
max-width: 20rem;
min-width: 15rem;
}
.grid.l > .spacer {
box-shadow: none;
margin: calc(var(--u0) * 2);
padding: 0px;
width: 40rem;
max-width: 40rem;
min-width: 15rem;
height: 0px;
padding: 0px;
}
.grid.l > * {
width: 40rem;
max-width: 40rem;
min-width: 15rem;
}
.vertical-spacer.s {
min-height: 10rem;
}
.vertical-spacer.m {
min-height: 20rem;
}
.vertical-spacer.l {
min-height: 40rem;
}
/*
* Impov
*/
.input-icon {
/* box-shadow: var(--s-0-secondary); */
display: flex;
padding: 0px;
border-radius: var(--u0);
}
.input-icon > input {
flex: 1;
margin: 0px;
border-top-right-radius: 0px;
border-bottom-right-radius: 0px;
box-shadow: none;
}
.input-icon > button {
margin: 0px;
border-top-left-radius: 0px;
border-bottom-left-radius: 0px;
box-shadow: none;
}
/*
* CONTENT
*/
.price {
opacity: 75%;
font-size: var(--u1);
text-align: right;
}

124
mockup-css/ecom-frontpage.html

@ -1,124 +0,0 @@
<!DOCTYPE html>
<html lang="de" dir="ltr">
<head>
<meta charset="utf-8">
<title>Frontpage</title>
<link rel="stylesheet" type="text/css" href="css/ecom.css">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
</head>
<body>
<nav class='hero'>
<div class='content-width bar-flex'>
<h1>Project eCommerce</h1>
<button>Angebote</button>
<div class='spacer input-icon secondary'>
<input type="text" placeholder="Nach Produkten suchen..."/>
<button>Finden</button>
</div>
<button>Login</button>
</div>
</nav>
<main>
<div class='hero'>
<div class='content-width'>
<h1>Angebote</h1>
<div class='grid m base shadow'>
<section>
<img src="pics/product-1.jpg">
<h2>Lorem Ipsum</h2>
<p class='price'> 25.14 €</p>
<p>
Als Gregor Samsa eines Morgens aus unruhigen Träumen erwachte.
</p>
</section>
<section>
<img src="pics/product-2.jpg">
<h2>Lorem Ipsum</h2>
<p class='price'> 10.14 €</p>
<p>
Als Gregor Samsa eines Morgens aus unruhigen Träumen erwachte.
</p>
</section>
<section>
<img src="pics/product-1.jpg">
<h2>Lorem Ipsum</h2>
<p class='price'> 25.14 €</p>
<p>
Als Gregor Samsa eines Morgens aus unruhigen Träumen erwachte.
</p>
</section>
<section>
<img src="pics/product-2.jpg">
<h2>Lorem Ipsum</h2>
<p class='price'> 10.14 €</p>
<p>
Als Gregor Samsa eines Morgens aus unruhigen Träumen erwachte.
</p>
</section>
<section>
<img src="pics/product-3.jpg">
<h2>Lorem Ipsum</h2>
<p class='price'> 44.14 €</p>
<p>
Als Gregor Samsa eines Morgens aus unruhigen Träumen erwachte.
</p>
</section>
<section class="spacer"></section>
<section class="spacer"></section>
<section class="spacer"></section>
<section class="spacer"></section>
</div>
</div>
<div class="vertical-spacer s"></div>
</div>
<div class=''>
<div class='content-width'>
<h1>Personalisierte Empfehlungen</h1>
<div class="grid l">
<img src="undraw/undraw_successful_purchase_secondary.svg"/>
<div>
<h2>Werde jetzt Kunde</h2>
<p> Jetzt Kunde werden und viele Vorteile sichern,
wie z.B. personalisierte Empfehlungen. </p>
<button>Registieren</button>
</div>
</div>
</div>
<div class="vertical-spacer s"></div>
</div>
</main>
<footer class="hero-black">
<div class='content-width bar-flex'>
<h3>Project eCommerce</h3>
<div class="spacer"></div>
<div>
<h4>Seite</h4>
<ul>
<li><a>Login</a></li>
<li><a>Angebote</a></li>
<li><a>Suche</a></li>
<li><a>Mitarbeiter Login</a></li>
</ul>
</div>
<div>
<h4>Mehr</h4>
<ul>
<li><a>Nutzungsbedingungen</a></li>
<li><a>Datenschutz</a></li>
<li><a>Über</a></li>
</ul>
</div>
</div>
</footer>
</body>
</html>

158
mockup-css/form-view.html

@ -1,158 +0,0 @@
<!DOCTYPE html>
<html lang="de" dir="ltr">
<head>
<meta charset="utf-8">
<title>Frontpage</title>
<link rel="stylesheet" type="text/css" href="css/ecom.css">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
</head>
<body>
<nav class='hero'>
<div class='content-width bar-flex'>
<h1>Project eCommerce</h1>
<button>Angebote</button>
<div class='spacer input-icon secondary'>
<input type="text" placeholder="Nach Produkten suchen..."/>
<button>Finden</button>
</div>
<button>Login</button>
</div>
</nav>
<main class="sidebar-layout content-width">
<nav>
<ul>
<li><a>Dashboard</a>
<ul>
<li><a>Artikel</a></li>
<li><a>Umsatzsteuer</a></li>
<li><a class='selected'>Geldbuchungen</a></li>
<li><a>Einstellungen</a></li>
</ul>
</li>
<li><a>Lieferanten</a>
<ul>
<li><a>Warenbuchungen</a></li>
<li><a>Geldbuchungen</a></li>
</ul>
</li>
<li><a>Lager</a>
<ul>
<li><a>Bestandsbuchungen</a></li>
</ul>
</li>
<li><a>Kunden</a>
<ul>
<li><a>Bestellungen</a></li>
<li><a>Geldbuchungen</a></li>
</ul>
</li>
</ul>
</nav>
<div class="content-width">
<h1>Geldbuchungen</h1>
<p>
<table>
<tr>
<th>Id</th>
<th>Datum</th>
<th>Betrag</th>
<th>Gegenkonto</th>
<th>Betreff</th>
</tr>
<tr>
<td>#100</td>
<td>2019-10-08</td>
<td>100,50 €</td>
<td>Lieferant: Hans</td>
<td>Bestellungen: #41</td>
</tr>
<tr>
<td>#100</td>
<td>2019-10-08</td>
<td>100,50 €</td>
<td>Lieferant: Hans</td>
<td>Bestellungen: #41</td>
</tr>
<tr>
<td>#100</td>
<td>2019-10-08</td>
<td>100,50 €</td>
<td>Lieferant: Hans</td>
<td>Bestellungen: #41</td>
</tr>
<tr>
<td>#100</td>
<td>2019-10-08</td>
<td>100,50 €</td>
<td>Lieferant: Hans</td>
<td>Bestellungen: #41</td>
</tr>
<tr>
<td>#100</td>
<td>2019-10-08</td>
<td>100,50 €</td>
<td>Lieferant: Hans</td>
<td>Bestellungen: #41</td>
</tr>
<tr>
<td>#100</td>
<td>2019-10-08</td>
<td>100,50 €</td>
<td>Lieferant: Hans</td>
<td>Bestellungen: #41</td>
</tr>
<tr>
<td>#100</td>
<td>2019-10-08</td>
<td>100,50 €</td>
<td>Lieferant: Hans</td>
<td>Bestellungen: #41</td>
</tr>
<tr>
<td>#100</td>
<td>2019-10-08</td>
<td>100,50 €</td>
<td>Lieferant: Hans</td>
<td>Bestellungen: #41</td>
</tr>
<tr>
<td>#100</td>
<td>2019-10-08</td>
<td>100,50 €</td>
<td>Lieferant: Hans</td>
<td>Bestellungen: #41</td>
</tr>
</table>
</p>
<p>
<a class="button">Manuelle Buchung</a>
</p>
</div>
</main>
<footer class="hero-black">
<div class='content-width bar-flex'>
<h3>Project eCommerce</h3>
<div class="spacer"></div>
<div>
<h4>Seite</h4>
<ul>
<li><a>Login</a></li>
<li><a>Angebote</a></li>
<li><a>Suche</a></li>
<li><a>Mitarbeiter Login</a></li>
</ul>
</div>
<div>
<h4>Mehr</h4>
<ul>
<li><a>Nutzungsbedingungen</a></li>
<li><a>Datenschutz</a></li>
<li><a>Über</a></li>
</ul>
</div>
</div>
</footer>
</body>
</html>

48
mockup-css/login.html

@ -1,48 +0,0 @@
<!DOCTYPE html>
<html lang="de" dir="ltr">
<head>
<meta charset="utf-8">
<title>Frontpage</title>
<link rel="stylesheet" type="text/css" href="css/ecom.css">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
</head>
<body>
<div class='grid m center vertical-center'>
<form class='hero primary'>
<p>
<label>Nutzername</label>
<input type="text" placeholder=""/>
</p>
<p>
<label>Passwort</label>
<input type="password" placeholder=""/>
</p>
<button class='secondary'>Login</button>
</form>
</div>
<footer class="hero-black">
<div class='content-width bar-flex'>
<h3>Project eCommerce</h3>
<div class="spacer"></div>
<div>
<h4>Seite</h4>
<ul>
<li><a>Login</a></li>
<li><a>Angebote</a></li>
<li><a>Suche</a></li>
<li><a>Mitarbeiter Login</a></li>
</ul>
</div>
<div>
<h4>Mehr</h4>
<ul>
<li><a>Nutzungsbedingungen</a></li>
<li><a>Datenschutz</a></li>
<li><a>Über</a></li>
</ul>
</div>
</div>
</footer>
</body>
</html>

BIN
mockup-css/pics/product-1.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

BIN
mockup-css/pics/product-2.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

BIN
mockup-css/pics/product-3.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

BIN
mockup-css/pics/product-4.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

BIN
mockup-css/pics/product-5.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

BIN
mockup-css/pics/product-6.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

BIN
mockup-css/pics/product-7.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

1
mockup-css/undraw/undraw_successful_purchase_secondary.svg

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 20 KiB

0
prototype/.gitignore → web_backend/.gitignore vendored

0
prototype/build.gradle → web_backend/build.gradle

0
prototype/gradle/wrapper/gradle-wrapper.jar → web_backend/gradle/wrapper/gradle-wrapper.jar vendored

0
prototype/gradle/wrapper/gradle-wrapper.properties → web_backend/gradle/wrapper/gradle-wrapper.properties vendored

0
prototype/gradlew → web_backend/gradlew vendored

0
prototype/gradlew.bat → web_backend/gradlew.bat vendored

0
prototype/scripts/addarticles.sql → web_backend/scripts/addarticles.sql

0
prototype/scripts/addsupplier.sql → web_backend/scripts/addsupplier.sql

0
prototype/scripts/addsupplierorders.sql → web_backend/scripts/addsupplierorders.sql

0
prototype/scripts/addusers.sql → web_backend/scripts/addusers.sql

0
prototype/settings.gradle → web_backend/settings.gradle

0
prototype/src/main/java/org/hso/ecommerce/action/booking/CreateBookingAction.java → web_backend/src/main/java/org/hso/ecommerce/action/booking/CreateBookingAction.java

0
prototype/src/main/java/org/hso/ecommerce/action/cronjob/ReadSupplierDataAction.java → web_backend/src/main/java/org/hso/ecommerce/action/cronjob/ReadSupplierDataAction.java

0
prototype/src/main/java/org/hso/ecommerce/action/cronjob/ReorderAction.java → web_backend/src/main/java/org/hso/ecommerce/action/cronjob/ReorderAction.java

0
prototype/src/main/java/org/hso/ecommerce/action/cronjob/UpdateOffersAction.java → web_backend/src/main/java/org/hso/ecommerce/action/cronjob/UpdateOffersAction.java

0
prototype/src/main/java/org/hso/ecommerce/action/shop/CreateOrderAction.java → web_backend/src/main/java/org/hso/ecommerce/action/shop/CreateOrderAction.java

0
prototype/src/main/java/org/hso/ecommerce/action/shop/EnableTrackingAction.java → web_backend/src/main/java/org/hso/ecommerce/action/shop/EnableTrackingAction.java

0
prototype/src/main/java/org/hso/ecommerce/action/shop/GetRandomArticlesAction.java → web_backend/src/main/java/org/hso/ecommerce/action/shop/GetRandomArticlesAction.java

0
prototype/src/main/java/org/hso/ecommerce/action/shop/SearchByTermAction.java → web_backend/src/main/java/org/hso/ecommerce/action/shop/SearchByTermAction.java

0
prototype/src/main/java/org/hso/ecommerce/action/user/CreateDeliveryData.java → web_backend/src/main/java/org/hso/ecommerce/action/user/CreateDeliveryData.java

0
prototype/src/main/java/org/hso/ecommerce/action/user/UpdateUserSettingsAction.java → web_backend/src/main/java/org/hso/ecommerce/action/user/UpdateUserSettingsAction.java

0
prototype/src/main/java/org/hso/ecommerce/action/warehouse/CalculateWarehouseStatsAction.java → web_backend/src/main/java/org/hso/ecommerce/action/warehouse/CalculateWarehouseStatsAction.java

0
prototype/src/main/java/org/hso/ecommerce/action/warehouse/CreateManuelBookingAction.java → web_backend/src/main/java/org/hso/ecommerce/action/warehouse/CreateManuelBookingAction.java

0
prototype/src/main/java/org/hso/ecommerce/action/warehouse/SupplierOrderArrivedAction.java → web_backend/src/main/java/org/hso/ecommerce/action/warehouse/SupplierOrderArrivedAction.java

0
prototype/src/main/java/org/hso/ecommerce/api/RestServiceForDelivery.java → web_backend/src/main/java/org/hso/ecommerce/api/RestServiceForDelivery.java

0
prototype/src/main/java/org/hso/ecommerce/api/SupplierService.java → web_backend/src/main/java/org/hso/ecommerce/api/SupplierService.java

0
prototype/src/main/java/org/hso/ecommerce/api/data/Article.java → web_backend/src/main/java/org/hso/ecommerce/api/data/Article.java

0
prototype/src/main/java/org/hso/ecommerce/api/data/Order.java → web_backend/src/main/java/org/hso/ecommerce/api/data/Order.java

0
prototype/src/main/java/org/hso/ecommerce/api/data/OrderConfirmation.java → web_backend/src/main/java/org/hso/ecommerce/api/data/OrderConfirmation.java

0
prototype/src/main/java/org/hso/ecommerce/api/data/Supplier.java → web_backend/src/main/java/org/hso/ecommerce/api/data/Supplier.java

0
prototype/src/main/java/org/hso/ecommerce/api/data/SupplierDiscount.java → web_backend/src/main/java/org/hso/ecommerce/api/data/SupplierDiscount.java

0
prototype/src/main/java/org/hso/ecommerce/app/Application.java → web_backend/src/main/java/org/hso/ecommerce/app/Application.java

0
prototype/src/main/java/org/hso/ecommerce/app/Config.java → web_backend/src/main/java/org/hso/ecommerce/app/Config.java

0
prototype/src/main/java/org/hso/ecommerce/app/config/AppSettings.java → web_backend/src/main/java/org/hso/ecommerce/app/config/AppSettings.java

0
prototype/src/main/java/org/hso/ecommerce/app/config/YAMLData.java → web_backend/src/main/java/org/hso/ecommerce/app/config/YAMLData.java

0
prototype/src/main/java/org/hso/ecommerce/components/AdminInitializer.java → web_backend/src/main/java/org/hso/ecommerce/components/AdminInitializer.java

0
prototype/src/main/java/org/hso/ecommerce/components/ErrorDemoInterceptor.java → web_backend/src/main/java/org/hso/ecommerce/components/ErrorDemoInterceptor.java

0
prototype/src/main/java/org/hso/ecommerce/components/InfoDemoInterceptor.java → web_backend/src/main/java/org/hso/ecommerce/components/InfoDemoInterceptor.java

0
prototype/src/main/java/org/hso/ecommerce/components/LoginIntercepter.java → web_backend/src/main/java/org/hso/ecommerce/components/LoginIntercepter.java

0
prototype/src/main/java/org/hso/ecommerce/components/ShoppingCartInterceptor.java → web_backend/src/main/java/org/hso/ecommerce/components/ShoppingCartInterceptor.java

0
prototype/src/main/java/org/hso/ecommerce/components/SlotInitializer.java → web_backend/src/main/java/org/hso/ecommerce/components/SlotInitializer.java

0
prototype/src/main/java/org/hso/ecommerce/components/SupplierInitializer.java → web_backend/src/main/java/org/hso/ecommerce/components/SupplierInitializer.java

0
prototype/src/main/java/org/hso/ecommerce/controller/LoginController.java → web_backend/src/main/java/org/hso/ecommerce/controller/LoginController.java

0
prototype/src/main/java/org/hso/ecommerce/controller/RegisterController.java → web_backend/src/main/java/org/hso/ecommerce/controller/RegisterController.java

0
prototype/src/main/java/org/hso/ecommerce/controller/UserController.java → web_backend/src/main/java/org/hso/ecommerce/controller/UserController.java

0
prototype/src/main/java/org/hso/ecommerce/controller/cronjob/AutoSupplierPayment.java → web_backend/src/main/java/org/hso/ecommerce/controller/cronjob/AutoSupplierPayment.java

0
prototype/src/main/java/org/hso/ecommerce/controller/cronjob/CronjobController.java → web_backend/src/main/java/org/hso/ecommerce/controller/cronjob/CronjobController.java

0
prototype/src/main/java/org/hso/ecommerce/controller/cronjob/DashboardCronjob.java → web_backend/src/main/java/org/hso/ecommerce/controller/cronjob/DashboardCronjob.java

0
prototype/src/main/java/org/hso/ecommerce/controller/cronjob/ICronjob.java → web_backend/src/main/java/org/hso/ecommerce/controller/cronjob/ICronjob.java

0
prototype/src/main/java/org/hso/ecommerce/controller/cronjob/Reorder.java → web_backend/src/main/java/org/hso/ecommerce/controller/cronjob/Reorder.java

0
prototype/src/main/java/org/hso/ecommerce/controller/cronjob/ScheduledCronjob.java → web_backend/src/main/java/org/hso/ecommerce/controller/cronjob/ScheduledCronjob.java

0
prototype/src/main/java/org/hso/ecommerce/controller/intern/DashboardController.java → web_backend/src/main/java/org/hso/ecommerce/controller/intern/DashboardController.java

0
prototype/src/main/java/org/hso/ecommerce/controller/intern/InternArticleController.java → web_backend/src/main/java/org/hso/ecommerce/controller/intern/InternArticleController.java

0
prototype/src/main/java/org/hso/ecommerce/controller/intern/InternIndexController.java → web_backend/src/main/java/org/hso/ecommerce/controller/intern/InternIndexController.java

0
prototype/src/main/java/org/hso/ecommerce/controller/intern/WarehouseController.java → web_backend/src/main/java/org/hso/ecommerce/controller/intern/WarehouseController.java

0
prototype/src/main/java/org/hso/ecommerce/controller/intern/accounting/AccountingController.java → web_backend/src/main/java/org/hso/ecommerce/controller/intern/accounting/AccountingController.java

0
prototype/src/main/java/org/hso/ecommerce/controller/intern/accounting/ManualAccountingController.java → web_backend/src/main/java/org/hso/ecommerce/controller/intern/accounting/ManualAccountingController.java

0
prototype/src/main/java/org/hso/ecommerce/controller/intern/customers/CustomerOrderController.java → web_backend/src/main/java/org/hso/ecommerce/controller/intern/customers/CustomerOrderController.java

0
prototype/src/main/java/org/hso/ecommerce/controller/intern/customers/CustomersIndexController.java → web_backend/src/main/java/org/hso/ecommerce/controller/intern/customers/CustomersIndexController.java

0
prototype/src/main/java/org/hso/ecommerce/controller/intern/suppliers/SupplierIndexController.java → web_backend/src/main/java/org/hso/ecommerce/controller/intern/suppliers/SupplierIndexController.java

0
prototype/src/main/java/org/hso/ecommerce/controller/intern/suppliers/SupplierOfferController.java → web_backend/src/main/java/org/hso/ecommerce/controller/intern/suppliers/SupplierOfferController.java

0
prototype/src/main/java/org/hso/ecommerce/controller/intern/suppliers/SupplierOrderController.java → web_backend/src/main/java/org/hso/ecommerce/controller/intern/suppliers/SupplierOrderController.java

0
prototype/src/main/java/org/hso/ecommerce/controller/intern/warehouse/ManuelBookingController.java → web_backend/src/main/java/org/hso/ecommerce/controller/intern/warehouse/ManuelBookingController.java

0
prototype/src/main/java/org/hso/ecommerce/controller/intern/warehouse/SlotsController.java → web_backend/src/main/java/org/hso/ecommerce/controller/intern/warehouse/SlotsController.java

0
prototype/src/main/java/org/hso/ecommerce/controller/intern/warehouse/TodoController.java → web_backend/src/main/java/org/hso/ecommerce/controller/intern/warehouse/TodoController.java

14
prototype/src/main/java/org/hso/ecommerce/controller/shop/ShopArticleController.java → web_backend/src/main/java/org/hso/ecommerce/controller/shop/ShopArticleController.java

@ -37,6 +37,7 @@ public class ShopArticleController {
@GetMapping("/{id}")
public String shopArticlesById(Model model,
@RequestAttribute(value = "shoppingCart") ShoppingCart shoppingCart,
@PathVariable("id") Long id,
HttpServletRequest request,
HttpServletResponse response
@ -52,15 +53,14 @@ public class ShopArticleController {
}
model.addAttribute("article", article);
if (warehouseBookingPositionSlotEntryRepository
int inStock = warehouseBookingPositionSlotEntryRepository
.getByArticle(id)
.stream()
.mapToInt(e -> e.newSumSlot)
.sum() > 0) { //check if in Stock
model.addAttribute("inStock", true);
} else {
model.addAttribute("inStock", false);
}
.sum();
model.addAttribute("inStock", Math.min(inStock, 10));
model.addAttribute("inCart", shoppingCart.getArticleCount(article));
List<Article> commercialArticles = GetRandomArticlesAction.getRandomArticles(3, articleRepository.getAdvertisedArticles()); //get 3 advertised Articles
model.addAttribute("commercialArticles", commercialArticles);
@ -78,7 +78,7 @@ public class ShopArticleController {
@RequestParam(value = "set_amount", required = false) Boolean setAmount,
@RequestParam("fastcheckout") Boolean fastcheckout
) {
Article article = articleRepository.findArticleById(id);
Article article = articleRepository.findById(id).orElse(null);
if (article == null) {
request.setAttribute("error", "Der Artikel wurde nicht gefunden.");

20
prototype/src/main/java/org/hso/ecommerce/controller/shop/ShopCheckoutController.java → web_backend/src/main/java/org/hso/ecommerce/controller/shop/ShopCheckoutController.java

@ -57,13 +57,27 @@ public class ShopCheckoutController {
CheckoutListTotals totals = new CheckoutListTotals();
ArrayList<CheckoutListItem> items = new ArrayList<>();
boolean inValid = false;
for (ShoppingCart.ShoppingCartItem item : shoppingCart.getItems()) {
Article article = articleRepository.findById(item.getArticleId()).get();
int inStock = wbeseRepo
.getByArticle(item.getArticleId())
.stream()
.mapToInt(e -> e.newSumSlot)
.sum();
totals.addItem(article, item.getAmount());
items.add(new CheckoutListItem(item.getAmount(), article));
items.add(new CheckoutListItem(item.getAmount(), Math.min(inStock, 10), article));
if (item.getAmount() > inStock) {
inValid = true;
}
}
request.setAttribute("inValid", inValid);
request.setAttribute("checkoutItems", items);
request.setAttribute("checkoutTotals", totals);
@ -87,11 +101,13 @@ public class ShopCheckoutController {
public int amount;
public Article article;
public int total;
public int inStock;
public CheckoutListItem(int amount, Article article) {
public CheckoutListItem(int amount, int inStock, Article article) {
this.amount = amount;
this.article = article;
this.total = amount * article.getPriceGross();
this.inStock = inStock;
}
}

0
prototype/src/main/java/org/hso/ecommerce/controller/shop/ShopIndexController.java → web_backend/src/main/java/org/hso/ecommerce/controller/shop/ShopIndexController.java

0
prototype/src/main/java/org/hso/ecommerce/controller/shop/ShopSearchController.java → web_backend/src/main/java/org/hso/ecommerce/controller/shop/ShopSearchController.java

0
prototype/src/main/java/org/hso/ecommerce/entities/booking/Booking.java → web_backend/src/main/java/org/hso/ecommerce/entities/booking/Booking.java

0
prototype/src/main/java/org/hso/ecommerce/entities/booking/BookingAccountEntry.java → web_backend/src/main/java/org/hso/ecommerce/entities/booking/BookingAccountEntry.java

0
prototype/src/main/java/org/hso/ecommerce/entities/booking/BookingReason.java → web_backend/src/main/java/org/hso/ecommerce/entities/booking/BookingReason.java

0
prototype/src/main/java/org/hso/ecommerce/entities/booking/CustomerPayment.java → web_backend/src/main/java/org/hso/ecommerce/entities/booking/CustomerPayment.java

0
prototype/src/main/java/org/hso/ecommerce/entities/booking/PaymentMethod.java → web_backend/src/main/java/org/hso/ecommerce/entities/booking/PaymentMethod.java

0
prototype/src/main/java/org/hso/ecommerce/entities/cron/BackgroundJob.java → web_backend/src/main/java/org/hso/ecommerce/entities/cron/BackgroundJob.java

0
prototype/src/main/java/org/hso/ecommerce/entities/dashboard/DashboardSummary.java → web_backend/src/main/java/org/hso/ecommerce/entities/dashboard/DashboardSummary.java

0
prototype/src/main/java/org/hso/ecommerce/entities/shop/Address.java → web_backend/src/main/java/org/hso/ecommerce/entities/shop/Address.java

0
prototype/src/main/java/org/hso/ecommerce/entities/shop/Article.java → web_backend/src/main/java/org/hso/ecommerce/entities/shop/Article.java

0
prototype/src/main/java/org/hso/ecommerce/entities/shop/Category.java → web_backend/src/main/java/org/hso/ecommerce/entities/shop/Category.java

0
prototype/src/main/java/org/hso/ecommerce/entities/shop/CustomerOrder.java → web_backend/src/main/java/org/hso/ecommerce/entities/shop/CustomerOrder.java

0
prototype/src/main/java/org/hso/ecommerce/entities/shop/CustomerOrderPosition.java → web_backend/src/main/java/org/hso/ecommerce/entities/shop/CustomerOrderPosition.java

0
prototype/src/main/java/org/hso/ecommerce/entities/shop/Image.java → web_backend/src/main/java/org/hso/ecommerce/entities/shop/Image.java

10
prototype/src/main/java/org/hso/ecommerce/entities/shop/ShoppingCart.java → web_backend/src/main/java/org/hso/ecommerce/entities/shop/ShoppingCart.java

@ -69,6 +69,16 @@ public class ShoppingCart {
items.removeIf(i -> i.getAmount() <= 0);
}
public int getArticleCount(Article article) {
for (ShoppingCartItem i : items) {
if (i.getArticleId() == article.id) {
return i.amount;
}
}
return 0;
}
public static class ShoppingCartItem {
private int amount;
private final long articleId;

0
prototype/src/main/java/org/hso/ecommerce/entities/supplier/ArticleOffer.java → web_backend/src/main/java/org/hso/ecommerce/entities/supplier/ArticleOffer.java

0
prototype/src/main/java/org/hso/ecommerce/entities/supplier/Supplier.java → web_backend/src/main/java/org/hso/ecommerce/entities/supplier/Supplier.java

0
prototype/src/main/java/org/hso/ecommerce/entities/supplier/SupplierOrder.java → web_backend/src/main/java/org/hso/ecommerce/entities/supplier/SupplierOrder.java

Some files were not shown because too many files have changed in this diff Show More

Du besuchst diese Seite mit einem veralteten IPv4-Internetzugang. Möglicherweise treten in Zukunft Probleme mit der Erreichbarkeit und Performance auf. Bitte frage deinen Internetanbieter oder Netzwerkadministrator nach IPv6-Unterstützung.
You are visiting this site with an outdated IPv4 internet access. You may experience problems with accessibility and performance in the future. Please ask your ISP or network administrator for IPv6 support.
Weitere Infos | More Information
Klicke zum schließen | Click to close