added scheme and added packages to backend

This commit is contained in:
2026-05-26 11:38:44 +02:00
parent ecaa160826
commit ac9679ab27
5 changed files with 1164 additions and 2 deletions
+2
View File
@@ -18,6 +18,8 @@
.AppleDouble
.LSOverride
node_modules
# Icon must end with two \r
Icon
+37
View File
@@ -0,0 +1,37 @@
USE stockhome;
CREATE TABLE IF NOT EXISTS users (
uuid BINARY(16) PRIMARY KEY,
username VARCHAR(255) NOT NULL UNIQUE,
email VARCHAR(255) NOT NULL UNIQUE,
password VARCHAR(255) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
is_admin BOOLEAN DEFAULT FALSE,
is_active BOOLEAN DEFAULT TRUE,
last_login TIMESTAMP NULL,
profile_picture VARCHAR(500) NULL
);
CREATE TABLE IF NOT EXISTS storage_locations (
uuid BINARY(16) PRIMARY KEY,
name VARCHAR(255) NOT NULL UNIQUE,
description TEXT DEFAULT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
CREATE TABLE IF NOT EXISTS products (
uuid BINARY(16) PRIMARY KEY,
name VARCHAR(255) NOT NULL,
description TEXT DEFAULT NULL,
price VARCHAR(10) DEFAULT NULL,
amount INT NOT NULL,
storage_location BINARY(16) NOT NULL,
expiry_date DATE DEFAULT NULL,
bottling_date DATE DEFAULT NULL,
picture VARCHAR(500) DEFAULT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
FOREIGN KEY (storage_location) REFERENCES storage_locations(uuid) ON DELETE CASCADE
);
+1086
View File
File diff suppressed because it is too large Load Diff
+8 -1
View File
@@ -10,5 +10,12 @@
"keywords": [],
"author": "",
"license": "ISC",
"type": "commonjs"
"type": "commonjs",
"dependencies": {
"cors": "^2.8.5",
"dotenv": "^17.2.3",
"ejs": "^3.1.10",
"express": "^5.2.1",
"mysql2": "^3.16.0"
}
}
+30
View File
@@ -0,0 +1,30 @@
services:
database:
container_name: stockhome-mysql
image: mysql:latest
restart: unless-stopped
ports:
- "3312:3306"
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_DATABASE: stockhome
TZ: Europe/Berlin
volumes:
- stockhome_mysql:/var/lib/mysql
- ./mysql-timezone.cnf:/etc/mysql/conf.d/timezone.cnf:ro
backend:
container_name: stockhome-backend
build:
context: ./backend
dockerfile: Dockerfile
ports:
- "8004:8004"
entrypoint:
NODE_ENV: production
depends_on:
- database
restart: unless-stopped
volumes:
stockhome_mysql: