implement all TODOs

This commit is contained in:
2026-06-23 00:01:38 +04:30
parent 00f990c653
commit 508c146732
22 changed files with 688 additions and 80 deletions
+47 -8
View File
@@ -9,7 +9,6 @@
-- 6. The script should be executable from start to finish without errors.
-- =======================================================
-- USER TABLE
-- =======================================================
@@ -30,6 +29,12 @@
--
-- CREATE TABLE ...
CREATE TABLE users(
id SERIAL PRIMARY KEY,
username TEXT UNIQUE NOT NULL,
password VARCHAR(250) NOT NULL,
email VARCHAR(100)
);
-- =======================================================
@@ -52,7 +57,13 @@
--
-- CREATE TABLE ...
CREATE TABLE menu_items(
id SERIAL PRIMARY KEY,
name VARCHAR(100) NOT NULL,
description TEXT,
price DECIMAL(10, 2) NOT NULL CHECK ( price > 0 ),
category VARCHAR(100)
);
-- =======================================================
-- ORDER TABLE
@@ -77,7 +88,12 @@
--
-- CREATE TABLE ...
CREATE TABLE orders (
id SERIAL PRIMARY KEY,
user_id INT NOT NULL REFERENCES users(id),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
total_price DECIMAL(10, 2) DEFAULT 0.00
);
-- =======================================================
-- ORDER DETAIL TABLE
@@ -100,7 +116,13 @@
--
-- CREATE TABLE ...
CREATE TABLE order_detail(
id SERIAL PRIMARY KEY,
order_id INT NOT NULL REFERENCES orders(id),
menu_item_id INT NOT NULL REFERENCES menuItem(id),
quantity INT NOT NULL CHECK ( quantity > 0 ),
unit_price DECIMAL(10, 2) NOT NULL
);
-- =======================================================
-- INITIAL MENU DATA
@@ -116,6 +138,12 @@
--
-- INSERT INTO ...
INSERT INTO menuItem(
name, description, price, category
) VALUES('Pizza Margherita', 'Classic pizza with tomato sauce and mozzarella', 10.00, 'Pizza'),
('Beef Burger', 'Juicy beef patty with cheese, lettuce, and tomato', 8.50, 'Burger'),
('Pasta Alfredo', 'Creamy pasta with grilled chicken and parmesan', 12.00, 'Pasta'),
('Coca Cola', 'Cold soft drink', 2.00, 'Drink');
-- =======================================================
@@ -127,7 +155,18 @@
--
-- INSERT INTO ...
--AI generated
INSERT INTO users (
username, password, email
) VALUES('ali_dev', '$2a$12$K8M6O2wWfG1...hashed_long_string...', 'ali@email.com'),
('sara_k', '$2a$12$R9P2m1vXyZ7...hashed_long_string...', NULL),
('reza_food', '$2a$12$T5N8b9zQpW3...hashed_long_string...', 'reza@email.com');
INSERT INTO orders (
user_id, total_price
) VALUES(1, 18.50), -- سفارش اول علی
(2, 12.00), -- سفارش سارا
(1, 20.00); -- سفارش دوم علی
-- =======================================================
-- VERIFICATION QUERIES
@@ -135,7 +174,7 @@
--
-- Uncomment these queries to verify your database.
--
-- SELECT * FROM ...;
-- SELECT * FROM ...;
-- SELECT * FROM ...;
-- SELECT * FROM ...;
SELECT * FROM users;
SELECT * FROM menuItem;
SELECT * FROM orders;
SELECT * FROM order_detail;