Change Database Scheme according to DBv1.sql
This commit is contained in:
@@ -11,5 +11,4 @@ public class WebshopApplication {
|
|||||||
System.setProperty("server.port", BASE_PORT);
|
System.setProperty("server.port", BASE_PORT);
|
||||||
SpringApplication.run(WebshopApplication.class, args);
|
SpringApplication.run(WebshopApplication.class, args);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
56
00-backend/src/main/resources/db/DBv1.sql
Normal file
56
00-backend/src/main/resources/db/DBv1.sql
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
CREATE TABLE IF NOT EXISTS ArticleConfigurations(
|
||||||
|
id INTEGER PRIMARY KEY NOT NULL,
|
||||||
|
articleId INTEGER NOT NULL,
|
||||||
|
name TEXT NOT NULL,
|
||||||
|
FOREIGN KEY (articleId) REFERENCES Articles(id)
|
||||||
|
ON DELETE CASCADE
|
||||||
|
ON UPDATE CASCADE
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS Customers(
|
||||||
|
id INTEGER PRIMARY KEY NOT NULL,
|
||||||
|
name TEXT NOT NULL, --nachname
|
||||||
|
surname TEXT NOT NULL, --vorname,
|
||||||
|
address TEXT NOT NULL,
|
||||||
|
country TEXT NOT NULL,
|
||||||
|
zip TEXT NOT NULL
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS Orders(
|
||||||
|
id INTEGER PRIMARY KEY NOT NULL,
|
||||||
|
customerId INTEGER NOT NULL,
|
||||||
|
time INTEGER NOT NULL, --unix millis or epoch, TBD
|
||||||
|
FOREIGN KEY (customerId) REFERENCES Customers(id)
|
||||||
|
ON DELETE CASCADE
|
||||||
|
ON UPDATE CASCADE
|
||||||
|
);
|
||||||
|
|
||||||
|
-- Each Article-Configuration in the order gets their own of this one
|
||||||
|
CREATE TABLE IF NOT EXISTS OrderItems(
|
||||||
|
orderId INTEGER NOT NULL,
|
||||||
|
articleId INTEGER NOT NULL,
|
||||||
|
articleConfId INTEGER NULL,
|
||||||
|
amount INTEGER NOT NULL,
|
||||||
|
|
||||||
|
CONSTRAINT cAmount CHECK (amount > 0),
|
||||||
|
FOREIGN KEY (orderId) REFERENCES Orders(id)
|
||||||
|
ON DELETE CASCADE
|
||||||
|
ON UPDATE CASCADE,
|
||||||
|
FOREIGN KEY (articleId) REFERENCES Articles(id)
|
||||||
|
ON DELETE SET NULL
|
||||||
|
ON UPDATE CASCADE,
|
||||||
|
FOREIGN KEY (articleConfId) REFERENCES ArticleConfigurations(id)
|
||||||
|
ON DELETE SET NULL
|
||||||
|
ON UPDATE CASCADE
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS Accounts(
|
||||||
|
id INTEGER PRIMARY KEY NOT NULL,
|
||||||
|
customerId INTEGER NOT NULL,
|
||||||
|
email TEXT NOT NULL,
|
||||||
|
password TEXT NOT NULL,
|
||||||
|
lang_i18n TEXT NOT NULL,
|
||||||
|
FOREIGN KEY (customerId) REFERENCES Customers(id)
|
||||||
|
ON DELETE CASCADE
|
||||||
|
ON UPDATE CASCADE
|
||||||
|
);
|
||||||
@@ -27,4 +27,4 @@ CREATE TABLE IF NOT EXISTS Reviews(
|
|||||||
content TEXT NULL,
|
content TEXT NULL,
|
||||||
FOREIGN KEY (articleId) REFERENCES Articles(id),
|
FOREIGN KEY (articleId) REFERENCES Articles(id),
|
||||||
CONSTRAINT c_rating CHECK ( rating >= 0 AND rating <= 10)
|
CONSTRAINT c_rating CHECK ( rating >= 0 AND rating <= 10)
|
||||||
)
|
);
|
||||||
51
README.md
51
README.md
@@ -1,2 +1,51 @@
|
|||||||
# webshop
|
# DPS Webshop
|
||||||
Webshop-Projekt für htw saar Digitale Produktionssysteme
|
Webshop-Projekt für htw saar Digitale Produktionssysteme
|
||||||
|
|
||||||
|
## Prerequisites
|
||||||
|
|
||||||
|
- ``git`` installed & added to PATH
|
||||||
|
- Java Development Kit 17 (we recommend using OpenJDK with Hotspot) installed & added to PATH
|
||||||
|
- Maven >= 3.9.9 installed & added to PATH
|
||||||
|
- ``npm`` installed & added to PATH
|
||||||
|
- An Internet Connection (to download the Maven Dependencies)
|
||||||
|
|
||||||
|
## Compile
|
||||||
|
|
||||||
|
- Make sure you fulfill all prerequisites
|
||||||
|
- Clone files & submodules with:
|
||||||
|
```shell
|
||||||
|
git clone git@github.com:FlorianSpeicher04/webshop.git
|
||||||
|
```
|
||||||
|
|
||||||
|
### Backend
|
||||||
|
- (Optional) change the ``BASE_PORT`` in [WebshopApplication.java](00-backend/src/main/java/de/htwsaar/webshop/WebshopApplication.java) from 8085 to something else
|
||||||
|
- Compile with:
|
||||||
|
```shell
|
||||||
|
mvn clean package
|
||||||
|
```
|
||||||
|
### Frontend
|
||||||
|
- Compile with:
|
||||||
|
```shell
|
||||||
|
npm install
|
||||||
|
```
|
||||||
|
|
||||||
|
## Run
|
||||||
|
|
||||||
|
### 🥰 Unix Systems
|
||||||
|
|
||||||
|
- TODO: make script
|
||||||
|
```shell
|
||||||
|
|
||||||
|
```
|
||||||
|
### 🤮 Windows
|
||||||
|
|
||||||
|
- TODO: make script
|
||||||
|
```shell
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
# Contributors
|
||||||
|
- Laura Katharina Dolibois
|
||||||
|
- Mathusan Saravanapavan
|
||||||
|
- Florian Speicher
|
||||||
|
- Tim Wall
|
||||||
|
|||||||
Reference in New Issue
Block a user