diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..8fce603 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +data/ diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..794dd51 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,15 @@ +version: '3.8' + +services: + ma-base: + image: mariadb:latest + container_name: mysql-enzo + restart: always + environment: + MYSQL_ROOT_PASSWORD: Poubelle-2026 + MYSQL_DATABASE: smart_trash + ports: + - "3306:3306" + volumes: + - ./data:/var/lib/mysql + - ./:/docker-entrypoint-initdb.d/ diff --git a/install.sql b/install.sql new file mode 100644 index 0000000..2893614 --- /dev/null +++ b/install.sql @@ -0,0 +1,31 @@ + +CREATE DATABASE IF NOT EXISTS smart_bins; +USE smart_bins; + + +CREATE TABLE bins ( + id INT AUTO_INCREMENT PRIMARY KEY, + bin_label VARCHAR(50) NOT NULL, + latitude DECIMAL(10, 8), + longitude DECIMAL(11, 8), + empty_weight_kg DECIMAL(5, 2), + max_capacity_liters INT, + date_installed TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); + + +CREATE TABLE measurements ( + id INT AUTO_INCREMENT PRIMARY KEY, + bin_id INT, + total_weight_kg DECIMAL(5, 2), + fill_level_percent INT, + temperature DECIMAL(4, 2), + battery_level INT, + measured_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + FOREIGN KEY (bin_id) REFERENCES bins(id) ON DELETE CASCADE +); + + +CREATE USER IF NOT EXISTS 'web_user'@'%' IDENTIFIED BY 'Poubelle-2026'; +GRANT ALL PRIVILEGES ON smart_bins.* TO 'web_user'@'%'; +FLUSH PRIVILEGES; diff --git a/test_data.sql b/test_data.sql new file mode 100644 index 0000000..08eb397 --- /dev/null +++ b/test_data.sql @@ -0,0 +1,13 @@ +USE smart_bins; + + +INSERT INTO bins (bin_label, latitude, longitude, empty_weight_kg, max_capacity_liters) VALUES +('Poubelle_Rue_Principale', 48.8584, 2.2945, 12.00, 100), +('Poubelle_Parc_Nord', 48.8600, 2.3000, 10.50, 80), +('Poubelle_Centre_Commercial', 48.8500, 2.3100, 15.00, 120); + + +INSERT INTO measurements (bin_id, total_weight_kg, fill_level_percent, temperature, battery_level) VALUES +(1, 45.50, 85, 22.1, 95), +(2, 15.00, 20, 19.5, 88), +(3, 60.00, 50, 24.0, 100);