From 3e32c08c1bac54a35c4257286c695fed35f3e0eb Mon Sep 17 00:00:00 2001 From: bazmurphy Date: Sat, 13 May 2023 20:47:17 +0100 Subject: [PATCH] complete --- 2-api/cyf-ecommerce-api/.env.sample | 5 + 2-api/cyf-ecommerce-api/.gitignore | 3 + 2-api/cyf-ecommerce-api/cyf_ecommerce.sql | 124 ++++ 2-api/cyf-ecommerce-api/package.json | 21 + .../cyf-ecommerce-api/project-screenshot.png | Bin 0 -> 136144 bytes 2-api/cyf-ecommerce-api/public/bazmurphy.jpeg | Bin 0 -> 4191 bytes 2-api/cyf-ecommerce-api/public/elephant.png | Bin 0 -> 50279 bytes 2-api/cyf-ecommerce-api/public/favicon.ico | Bin 0 -> 4846 bytes 2-api/cyf-ecommerce-api/public/index.html | 289 ++++++++ 2-api/cyf-ecommerce-api/public/script.js | 289 ++++++++ 2-api/cyf-ecommerce-api/public/style.css | 124 ++++ 2-api/cyf-ecommerce-api/readme.md | 38 ++ 2-api/cyf-ecommerce-api/server.js | 624 ++++++++++++++++++ 2-api/cyf-ecommerce-api/utils.js | 34 + 14 files changed, 1551 insertions(+) create mode 100644 2-api/cyf-ecommerce-api/.env.sample create mode 100644 2-api/cyf-ecommerce-api/.gitignore create mode 100644 2-api/cyf-ecommerce-api/cyf_ecommerce.sql create mode 100644 2-api/cyf-ecommerce-api/package.json create mode 100644 2-api/cyf-ecommerce-api/project-screenshot.png create mode 100644 2-api/cyf-ecommerce-api/public/bazmurphy.jpeg create mode 100644 2-api/cyf-ecommerce-api/public/elephant.png create mode 100644 2-api/cyf-ecommerce-api/public/favicon.ico create mode 100644 2-api/cyf-ecommerce-api/public/index.html create mode 100644 2-api/cyf-ecommerce-api/public/script.js create mode 100644 2-api/cyf-ecommerce-api/public/style.css create mode 100644 2-api/cyf-ecommerce-api/readme.md create mode 100644 2-api/cyf-ecommerce-api/server.js create mode 100644 2-api/cyf-ecommerce-api/utils.js diff --git a/2-api/cyf-ecommerce-api/.env.sample b/2-api/cyf-ecommerce-api/.env.sample new file mode 100644 index 00000000..6879867d --- /dev/null +++ b/2-api/cyf-ecommerce-api/.env.sample @@ -0,0 +1,5 @@ +DB_HOST= +DB_PORT= +DB_NAME= +DB_USER= +DB_PASS= \ No newline at end of file diff --git a/2-api/cyf-ecommerce-api/.gitignore b/2-api/cyf-ecommerce-api/.gitignore new file mode 100644 index 00000000..a57bde28 --- /dev/null +++ b/2-api/cyf-ecommerce-api/.gitignore @@ -0,0 +1,3 @@ +*.env +node_modules +package-lock.json \ No newline at end of file diff --git a/2-api/cyf-ecommerce-api/cyf_ecommerce.sql b/2-api/cyf-ecommerce-api/cyf_ecommerce.sql new file mode 100644 index 00000000..7b335282 --- /dev/null +++ b/2-api/cyf-ecommerce-api/cyf_ecommerce.sql @@ -0,0 +1,124 @@ +drop table if exists order_items; +drop table if exists orders cascade; +DROP TABLE IF EXISTS product_availability cascade; +drop table if exists customers cascade; +drop table if exists products cascade; +drop table if exists suppliers cascade; + +CREATE TABLE customers ( + id SERIAL PRIMARY KEY, + name VARCHAR(50) NOT NULL, + address VARCHAR(120), + city VARCHAR(30), + country VARCHAR(20) +); + +CREATE TABLE suppliers ( + id SERIAL PRIMARY KEY, + supplier_name VARCHAR(100) NOT NULL, + country VARCHAR(20) NOT NULL +); + +CREATE TABLE products ( + id SERIAL PRIMARY KEY, + product_name VARCHAR(100) NOT NULL +); + +create table product_availability ( + prod_id integer references products(id), + supp_id integer references suppliers(id), + unit_price integer not null, + primary key (prod_id, supp_id) +); + +CREATE TABLE orders ( + id SERIAL PRIMARY KEY, + order_date DATE NOT NULL, + order_reference VARCHAR(10) NOT NULL, + customer_id INT REFERENCES customers(id) +); + +CREATE TABLE order_items ( + id SERIAL PRIMARY KEY, + order_id INT NOT NULL REFERENCES orders(id), + product_id INT NOT NULL, + supplier_id INT NOT NULL, + quantity INT NOT NULL, + FOREIGN KEY (product_id, supplier_id) + REFERENCES product_availability (prod_id, supp_id) +); + +INSERT INTO customers (name, address, city, country) VALUES ('Guy Crawford','770-2839 Ligula Road','Paris','France'); +INSERT INTO customers (name, address, city, country) VALUES ('Hope Crosby','P.O. Box 276, 4976 Sit Rd.','Steyr','United Kingdom'); +INSERT INTO customers (name, address, city, country) VALUES ('Britanney Kirkland','P.O. Box 577, 5601 Sem, St.','Little Rock','United Kingdom'); +INSERT INTO customers (name, address, city, country) VALUES ('Amber Tran','6967 Ac Road','Villafranca Asti','United States'); +INSERT INTO customers (name, address, city, country) VALUES ('Edan Higgins','Ap #840-3255 Tincidunt St.','Arles','United States'); +INSERT INTO customers (name, address, city, country) VALUES ('Quintessa Austin','597-2737 Nunc Rd.','Saint-Marc','United Kingdom'); + +INSERT INTO suppliers (supplier_name, country) VALUES ('Amazon', 'United States'); +INSERT INTO suppliers (supplier_name, country) VALUES ('Taobao', 'China'); +INSERT INTO suppliers (supplier_name, country) VALUES ('Argos', 'United Kingdom'); +INSERT INTO suppliers (supplier_name, country) VALUES ('Sainsburys', 'United Kingdom'); + + +INSERT INTO products (product_name) VALUES ('Mobile Phone X'); +INSERT INTO products (product_name) VALUES ('Javascript Book'); +INSERT INTO products (product_name) VALUES ('Le Petit Prince'); +INSERT INTO products (product_name) VALUES ('Super warm socks'); +INSERT INTO products (product_name) VALUES ('Coffee Cup'); +INSERT INTO products (product_name) VALUES ('Ball'); +INSERT INTO products (product_name) VALUES ('Tee Shirt Olympic Games'); + +INSERT INTO product_availability (prod_id, supp_id, unit_price) VALUES (1, 4, 249); +INSERT INTO product_availability (prod_id, supp_id, unit_price) VALUES (1, 1, 299); +INSERT INTO product_availability (prod_id, supp_id, unit_price) VALUES (2, 2, 41); +INSERT INTO product_availability (prod_id, supp_id, unit_price) VALUES (2, 3, 39); +INSERT INTO product_availability (prod_id, supp_id, unit_price) VALUES (2, 1, 40); +INSERT INTO product_availability (prod_id, supp_id, unit_price) VALUES (3, 4, 10); +INSERT INTO product_availability (prod_id, supp_id, unit_price) VALUES (3, 1, 10); +INSERT INTO product_availability (prod_id, supp_id, unit_price) VALUES (4, 4, 10); +INSERT INTO product_availability (prod_id, supp_id, unit_price) VALUES (4, 3, 8); +INSERT INTO product_availability (prod_id, supp_id, unit_price) VALUES (4, 2, 5); +INSERT INTO product_availability (prod_id, supp_id, unit_price) VALUES (4, 1, 10); +INSERT INTO product_availability (prod_id, supp_id, unit_price) VALUES (5, 4, 5); +INSERT INTO product_availability (prod_id, supp_id, unit_price) VALUES (5, 3, 4); +INSERT INTO product_availability (prod_id, supp_id, unit_price) VALUES (5, 2, 4); +INSERT INTO product_availability (prod_id, supp_id, unit_price) VALUES (5, 1, 3); +INSERT INTO product_availability (prod_id, supp_id, unit_price) VALUES (6, 2, 20); +INSERT INTO product_availability (prod_id, supp_id, unit_price) VALUES (6, 4, 15); +INSERT INTO product_availability (prod_id, supp_id, unit_price) VALUES (6, 1, 14); +INSERT INTO product_availability (prod_id, supp_id, unit_price) VALUES (7, 3, 21); +INSERT INTO product_availability (prod_id, supp_id, unit_price) VALUES (7, 2, 18); +INSERT INTO product_availability (prod_id, supp_id, unit_price) VALUES (7, 1, 20); + +INSERT INTO orders (order_date, order_reference, customer_id) VALUES ('2019-06-01', 'ORD001', 1); +INSERT INTO orders (order_date, order_reference, customer_id) VALUES ('2019-07-15', 'ORD002', 1); +INSERT INTO orders (order_date, order_reference, customer_id) VALUES ('2019-07-11', 'ORD003', 1); +INSERT INTO orders (order_date, order_reference, customer_id) VALUES ('2019-05-24', 'ORD004', 2); +INSERT INTO orders (order_date, order_reference, customer_id) VALUES ('2019-05-30', 'ORD005', 3); +INSERT INTO orders (order_date, order_reference, customer_id) VALUES ('2019-07-05', 'ORD006', 4); +INSERT INTO orders (order_date, order_reference, customer_id) VALUES ('2019-04-05', 'ORD007', 4); +INSERT INTO orders (order_date, order_reference, customer_id) VALUES ('2019-07-23', 'ORD008', 5); +INSERT INTO orders (order_date, order_reference, customer_id) VALUES ('2019-07-24', 'ORD009', 5); +INSERT INTO orders (order_date, order_reference, customer_id) VALUES ('2019-05-10', 'ORD010', 5); + +INSERT INTO order_items VALUES (1, 1, 7, 2, 1); +INSERT INTO order_items VALUES (2, 1, 4, 2, 5); +INSERT INTO order_items VALUES (3, 2, 4, 3, 4); +INSERT INTO order_items VALUES (4, 2, 3, 4, 1); +INSERT INTO order_items VALUES (5, 3, 5, 3, 10); +INSERT INTO order_items VALUES (6, 3, 6, 2, 2); +INSERT INTO order_items VALUES (7, 4, 1, 1, 1); +INSERT INTO order_items VALUES (8, 5, 2, 3, 2); +INSERT INTO order_items VALUES (9, 5, 3, 1, 1); +INSERT INTO order_items VALUES (10, 6, 5, 2, 3); +INSERT INTO order_items VALUES (11, 6, 2, 2, 1); +INSERT INTO order_items VALUES (12, 6, 3, 4, 1); +INSERT INTO order_items VALUES (13, 6, 4, 4, 3); +INSERT INTO order_items VALUES (14, 7, 4, 3, 15); +INSERT INTO order_items VALUES (15, 8, 7, 1, 1); +INSERT INTO order_items VALUES (16, 8, 1, 4, 1); +INSERT INTO order_items VALUES (17, 9, 6, 4, 2); +INSERT INTO order_items VALUES (18, 10, 6, 2, 1); +INSERT INTO order_items VALUES (19, 10, 4, 1, 5); + diff --git a/2-api/cyf-ecommerce-api/package.json b/2-api/cyf-ecommerce-api/package.json new file mode 100644 index 00000000..1940013a --- /dev/null +++ b/2-api/cyf-ecommerce-api/package.json @@ -0,0 +1,21 @@ +{ + "name": "cyf-ecommerce-api", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "start": "node server.js", + "dev": "nodemon server.js" + }, + "keywords": [], + "author": "", + "license": "ISC", + "dependencies": { + "dotenv": "^16.0.3", + "express": "^4.18.2", + "pg": "^8.10.0" + }, + "devDependencies": { + "nodemon": "^2.0.22" + } +} diff --git a/2-api/cyf-ecommerce-api/project-screenshot.png b/2-api/cyf-ecommerce-api/project-screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..bb0afd19011328e5c3eaf3e78845b2913db10990 GIT binary patch literal 136144 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 SM=K9c*S&3c3#WPS$$tTVOjxe~ literal 0 HcmV?d00001 diff --git a/2-api/cyf-ecommerce-api/public/bazmurphy.jpeg b/2-api/cyf-ecommerce-api/public/bazmurphy.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..65c53c469d8f7295f4e0d7a05d67195900bb2878 GIT binary patch literal 4191 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 gNtnPZu-d&r&I;c9>kU+8}PAK2We;{X5v literal 0 HcmV?d00001 diff --git a/2-api/cyf-ecommerce-api/public/favicon.ico b/2-api/cyf-ecommerce-api/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..cc0376628a0e83ab9bcb40a9af951ed03925ee4f GIT binary patch literal 4846 zcmeHLPj4GV6rc63*Y-N=-5q0cn`;K61!mJ1_}5V(fsdNr#zhk_rY17s!$A_G*1)cYBC|7*sUj$l}Ase za2vAyePP0RAmzJ7{f?Ap3c5Fta-pcFQg#bIdsDiTklyL*4a0aiyo>$qD@w1XUkwKr zV86Yya~m_4xZha(+p!Kwmh&0uQ$(>1Uv?bg!;6=YFO??54Mw2g}`**5@9~FRd^Y zNGccL{+;=yGpw=%{NRl>=(kqVZcN8_f4cP}@V~4LI(?}M9m2k^^beL~x6d{(?%b!3huFbbW#j6#wVfMtD^H~S1nFU| z;oZb}YdCy5e6$QTCv_c@$u}qshst9zIaEA?%y_)VMt{TVUns)^>?PjA7#x8so0?rn zVuzUJjA2fjW_=IX1MC|gF7~L-7r`HasZS`XX`w#JnxWa*Sw=l!YZZ*1u)4Ym3Eo;| zyI|ELwnosmpo4d}*gly0#Xj*q@jjanPl#XaO;|r(%9j~Phy;k_faZDUF z!Q+?+)ikeBOq#uyD75Zz9K1jc52k z9E)bGo@99cBmvZIxUTDo6I?<8?}`%y9Od?1UOzs7B0fGkK_$AEQk}PWRAxnd$d9mJ z;zC4DNhDzq#DYh0mLK=1gqB3?`AuFHyn(v$xXAMfJZy<%s#ZCz`>m){i$v2$4)gm0 zz7YgLgNu4rNj2fo`My9ZoT%lyt%7}DRB)v41x;=@h)}y*#RjJ=;6PSxSm4c&JQ6K? z6UIE2w6DBTgu5ORP%4$mwVJWd8`?a1BmysNS=C5bx1LaH^J4d!DsEAo+7O6@7w@c| zB_q^vt88UkJduc?_$+O-u4_ht-ez{dhzOGWk_+xo=7_|Mmh|aC;h~=&kh|mCG{%{S zt{XRz(a?>v1E3i4EPf_`zCJaUR*1}*#^MyRp_>j}gEgVdyELDe6ct*5nkQrdPoW@Q zn$vesc-lwcRjPDcE&VQY_mLOaAqum28#MA%-Wob$iy@pEdx4u|&qa^ad{sG=XP@v? z4o%!&hIx6L5TZO=cx=8Iv?zZjTTk934>g0;5FdS z01ef{pTbjN`@vN4Lk~lt3SI>;g)i0tSu_;rd-tg`PT{8u)52X--yW4jIgia;WCpW? z8CzC_cdVjTlR{sxaNoWU-Kll1%%btsLP`2rZ_yQ0o<1O}1hWTS&y2jLuF#09W~FEG zSk1B)XfS5g=cZjboSSDzkQssYW~s_`=Aj2@$EHs^k>FuasZ@h7QMZ`{C<;G-lIXo& zz-@0+d(if&3`A5f!$>(&3bkdP;2$3e26?YFhcL$;M-vVRpY)w0dZDi!)|!?0t@0cF zT!Gx|X~|}lJY>-`vSM^C$IMDs&5zlU@(=tdqjele@{kV3y^KlX{}K2Nh&YVI5Wfc% zP03gF??cuzayFNHgoeE-S<(LwVOHXtO~O4ZZAPCbY0ojVY1Wm5ojua6#CZp#!w(e? Q{2sG)MsXnDV`swHKMV + + + + + + + PostgreSQL API - Ecommerce v2.0 + + +
+
+ +

PostgreSQL API - Ecommerce v2.0

+
+ +
+
+
+ +
+ GET Examples +
+ +
+
+ GET /customers/:customerId + + + +
+
+ +
+
+ GET /products?name= + + + +
+
+ +
+
+ POST /customers + + + + + + + + + +
+
+ +
+
+ POST /products + + + +
+
+ +
+
+ POST /availability + + + + + + + +
+
+ +
+
+ POST /customer/:customerId/orders + + + + + + + +
+
+ +
+
+ PUT /customers/:customerId + + + + + + + + + + + +
+
+ +
+
+ DELETE /orders/:orderId + + + +
+
+ +
+
+ DELETE /customers/:customerId + + + +
+
+
+
+

API Response (JSON) :

+
+
+
+ + + diff --git a/2-api/cyf-ecommerce-api/public/script.js b/2-api/cyf-ecommerce-api/public/script.js new file mode 100644 index 00000000..1177d1b2 --- /dev/null +++ b/2-api/cyf-ecommerce-api/public/script.js @@ -0,0 +1,289 @@ +async function fetchFormatAndOutput(path, options = {}) { + try { + const response = await fetch(path, options); + const data = await response.json(); + console.log("fetch data:", data); + const responseContainer = document.getElementById("response-container"); + responseContainer.innerText = ""; + const pre = document.createElement("pre"); + const code = document.createElement("code"); + code.id = "output-json"; + code.innerText = JSON.stringify(data, null, 2); + pre.appendChild(code); + responseContainer.appendChild(pre); + } catch (error) { + console.log(error); + } +} + +const paths = ["/customers", "/suppliers", "/products"]; + +paths.forEach((path) => { + const navButtons = document.getElementById("get-buttons"); + const button = document.createElement("button"); + button.id = path; + button.innerText = path; + button.addEventListener("click", (event) => + fetchFormatAndOutput(event.target.id) + ); + navButtons.appendChild(button); +}); + +const getCustomerByIdForm = document.getElementById("form-get-customer-byid"); +getCustomerByIdForm.addEventListener("submit", async (event) => { + event.preventDefault(); + try { + const getCustomerByIdSubmit = document.getElementById( + "form-get-customer-byid-submit" + ); + getCustomerByIdSubmit.disabled = true; + + const customerId = document.getElementById( + "form-get-customer-byid-id" + ).value; + + await fetchFormatAndOutput(`/customers/${customerId}`); + + getCustomerByIdSubmit.disabled = false; + } catch (error) { + console.log(error); + } +}); + +const getProductByNameForm = document.getElementById("form-get-product-byname"); +getProductByNameForm.addEventListener("submit", async (event) => { + event.preventDefault(); + try { + const getProductByNameSubmit = document.getElementById( + "form-get-product-byname-submit" + ); + getProductByNameSubmit.disabled = true; + + const productName = document.getElementById( + "form-get-product-byname-productname" + ).value; + + await fetchFormatAndOutput(`/products?name=${productName}`); + + getProductByNameSubmit.disabled = false; + } catch (error) { + console.log(error); + } +}); + +const postCustomerForm = document.getElementById("form-post-customer"); +postCustomerForm.addEventListener("submit", async (event) => { + event.preventDefault(); + try { + const postCustomerSubmit = document.getElementById( + "form-post-customer-submit" + ); + postCustomerSubmit.disabled = true; + + const name = document.getElementById("form-post-customer-name").value; + const address = document.getElementById("form-post-customer-address").value; + const city = document.getElementById("form-post-customer-city").value; + const country = document.getElementById("form-post-customer-country").value; + + await fetchFormatAndOutput(`/customers`, { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify({ + name: name, + address: address, + city: city, + country: country, + }), + }); + + postCustomerSubmit.disabled = false; + } catch (error) { + console.log(error); + } +}); + +const postProductForm = document.getElementById("form-post-product"); +postProductForm.addEventListener("submit", async (event) => { + event.preventDefault(); + try { + const postProductSubmit = document.getElementById( + "form-post-product-submit" + ); + postProductSubmit.disabled = true; + + const productName = document.getElementById( + "form-post-product-productname" + ).value; + + await fetchFormatAndOutput(`products`, { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify({ + productname: productName, + }), + }); + + postProductSubmit.disabled = false; + } catch (error) { + console.log(error); + } +}); + +const postAvailabilityForm = document.getElementById("form-post-availability"); +postAvailabilityForm.addEventListener("submit", async (event) => { + event.preventDefault(); + try { + const postAvailabilitySubmit = document.getElementById( + "form-post-availability-submit" + ); + postAvailabilitySubmit.disabled = true; + + const productId = document.getElementById( + "form-post-availability-productid" + ).value; + const supplierId = document.getElementById( + "form-post-availability-supplierid" + ).value; + const unitPrice = document.getElementById( + "form-post-availability-unitprice" + ).value; + + await fetchFormatAndOutput(`/availability`, { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify({ + productid: productId, + supplierid: supplierId, + unitprice: unitPrice, + }), + }); + + postAvailabilitySubmit.disabled = false; + } catch (error) { + console.log(error); + } +}); + +const postCustomerOrderForm = document.getElementById( + "form-post-customer-order" +); +postCustomerOrderForm.addEventListener("submit", async (event) => { + event.preventDefault(); + try { + const postCustomerOrderSubmit = document.getElementById( + "form-post-customer-order-submit" + ); + postCustomerOrderSubmit.disabled = true; + + const customerId = document.getElementById( + "form-post-customer-order-customerid" + ).value; + const orderDate = document.getElementById( + "form-post-customer-order-orderdate" + ).value; + const orderReference = document.getElementById( + "form-post-customer-order-orderreference" + ).value; + + await fetchFormatAndOutput(`/customers/${customerId}/orders`, { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify({ + orderdate: orderDate, + orderreference: orderReference, + }), + }); + + postCustomerOrderSubmit.disabled = false; + } catch (error) { + console.log(error); + } +}); + +const putCustomerByIdForm = document.getElementById("form-put-customer"); +putCustomerByIdForm.addEventListener("submit", async (event) => { + event.preventDefault(); + try { + const putCustomerByIdSubmit = document.getElementById( + "form-put-customer-submit" + ); + putCustomerByIdSubmit.disabled = true; + + const customerId = document.getElementById( + "form-put-customer-customerid" + ).value; + const name = document.getElementById("form-put-customer-name").value; + const address = document.getElementById("form-put-customer-address").value; + const city = document.getElementById("form-put-customer-city").value; + const country = document.getElementById("form-put-customer-country").value; + + await fetchFormatAndOutput(`/customers/${customerId}`, { + method: "PUT", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify({ + name: name, + address: address, + city: city, + country: country, + }), + }); + + putCustomerByIdSubmit.disabled = false; + } catch (error) { + console.log(error); + } +}); + +const deleteOrderByIdForm = document.getElementById("form-delete-order"); +deleteOrderByIdForm.addEventListener("submit", async (event) => { + event.preventDefault(); + try { + const deleteOrderByIdSubmit = document.getElementById( + "form-delete-order-submit" + ); + deleteOrderByIdSubmit.disabled = true; + + const orderId = document.getElementById("form-delete-order-orderid").value; + + await fetchFormatAndOutput(`/orders/${orderId}`, { + method: "DELETE", + }); + + deleteOrderByIdSubmit.disabled = false; + } catch (error) { + console.log(error); + } +}); + +const deleteCustomerByIdForm = document.getElementById("form-delete-customer"); +deleteCustomerByIdForm.addEventListener("submit", async (event) => { + event.preventDefault(); + try { + const deleteCustomerByIdSubmit = document.getElementById( + "form-delete-customer-submit" + ); + deleteCustomerByIdSubmit.disabled = true; + + const customerId = document.getElementById( + "form-delete-customer-customerid" + ).value; + + await fetchFormatAndOutput(`/customers/${customerId}`, { + method: "DELETE", + }); + + deleteCustomerByIdSubmit.disabled = false; + } catch (error) { + console.log(error); + } +}); diff --git a/2-api/cyf-ecommerce-api/public/style.css b/2-api/cyf-ecommerce-api/public/style.css new file mode 100644 index 00000000..aa3876fb --- /dev/null +++ b/2-api/cyf-ecommerce-api/public/style.css @@ -0,0 +1,124 @@ +@import url("https://fonts.googleapis.com/css2?family=Instrument+Sans:wght@400;600&display=swap"); + +* { + box-sizing: border-box; + margin: 0; + font-family: "Instrument Sans", system-ui, sans-serif; + color: black; + font-size: 14px; + font-weight: 400; +} + +body { + margin: 0 auto; + max-width: 800px; + background-color: hsl(0, 0%, 92%); +} + +header { + display: flex; + justify-content: space-between; + border-bottom: 1px solid hsl(207, 47%, 39%); + margin-bottom: 10px; +} + +#title { + display: flex; + align-items: center; + gap: 10px; +} + +#title img { + max-height: 40px; +} + +#title h1 { + margin: 0; + font-size: 24px; + font-weight: 600; +} + +#bazmurphy { + max-height: 40px; + border-radius: 100%; +} + +main { + display: grid; + grid-template-columns: 0.4fr 0.6fr; + align-items: start; + column-gap: 10px; +} + +#input-container { + display: grid; + align-items: start; + row-gap: 5px; +} + +#output-container { + /* margin-top: 9px; */ +} + +#output-container > h2 { + font-weight: 600; +} + +#response-container { + padding: 5px; + overflow-x: scroll; + overflow-y: scroll; + background-color: hsl(0, 0%, 95%); + border: 1px solid darkgray; + min-height: 100px; + max-height: 800px; +} + +pre { + /* to wrap the json text over to the next line */ + white-space: pre-wrap; +} + +#output-json { + font-family: monospace; +} + +#get-buttons { + display: flex; + flex-wrap: wrap; + justify-content: center; + align-items: center; + gap: 10px; + padding: 5px; +} + +fieldset { + display: grid; + grid-template-columns: 40% 60%; + gap: 5px; + border: 1px solid hsl(207, 47%, 69%); +} + +legend { + font-weight: 600; +} + +button, +input[type="submit"] { + background-color: hsl(207, 47%, 39%); + color: hsl(0, 0%, 90%); + border: none; + border-radius: 2px; + padding: 5px 8px; + cursor: pointer; +} + +input[type="submit"] { + grid-column: 1 / 3; +} + +button:hover, +input[type="submit"]:hover { + background-color: hsl(207, 47%, 49%); + color: hsl(0, 0%, 90%); +} diff --git a/2-api/cyf-ecommerce-api/readme.md b/2-api/cyf-ecommerce-api/readme.md new file mode 100644 index 00000000..20022d7b --- /dev/null +++ b/2-api/cyf-ecommerce-api/readme.md @@ -0,0 +1,38 @@ +# PostgreSQL Ecommerce API v2.0 + +## Description + +Written from scratch Frontend with HTML, CSS, Vanilla JS +Showcasing the Backend Node Express API and its functionality +That is interacting with a PostgreSQL Database + +## Screenshot: + +![](project-screenshot.png) + +## Instructions: + +1. clone this repo +2. install [postgresql](https://www.postgresql.org/) +3. inside the root of the repository, open a terminal: +4. move into the `2-api/cyf-ecommerce-api/` folder: + `cd 2-api/cyf-ecommerce-api/` +5. create the database + `createdb cyf_ecommerce` +6. populate the database + `createdb -d cyf_ecommerce -f cyf_ecommerce.sql` +7. install the project dependencies: + `npm install` +8. create your own `.env` file in the `/cyf-hotels-api/` directory and add your PostgreSQL details (refer to the `.env.example` file) : + +``` +DB_HOST= +DB_PORT= +DB_NAME= +DB_USER= +DB_PASS= +``` + +9. start the server in develoment mode: + `npm run dev` +10. visit http://localhost:3000 diff --git a/2-api/cyf-ecommerce-api/server.js b/2-api/cyf-ecommerce-api/server.js new file mode 100644 index 00000000..65748043 --- /dev/null +++ b/2-api/cyf-ecommerce-api/server.js @@ -0,0 +1,624 @@ +require("dotenv").config(); +const express = require("express"); +const app = express(); + +app.use(express.static("public")); +app.use(express.json()); +app.use(express.urlencoded({ extended: true })); + +const { + isValidId, + isInjectionFree, + isValidDate, + isValidOrderReference, +} = require("./utils"); + +const { Pool } = require("pg"); + +const db = new Pool({ + host: process.env.DB_HOST, + port: process.env.DB_PORT, + database: process.env.DB_NAME, + user: process.env.DB_USER, + password: process.env.DB_PASS, +}); + +// [2] Add a new GET endpoint `/customers` to return all the customers from the database +app.get("/customers", async (req, res) => { + try { + const queryGetCustomers = await db.query( + `SELECT * + FROM customers;` + ); + res.status(200).json({ success: true, data: queryGetCustomers.rows }); + } catch (error) { + res.status(500).json({ success: false, error: error }); + } +}); + +// [3] Add a new GET endpoint /customers/:customerId to load a single customer by ID. +app.get("/customers/:customerId", async (req, res) => { + try { + const customerId = req.params.customerId; + + if (!isValidId(customerId)) { + return res.status(400).json({ + success: false, + error: `Customer id: ${customerId} is not a valid integer`, + }); + } + + const queryGetCustomerById = await db.query( + `SELECT * + FROM customers + WHERE id = $1;`, + [customerId] + ); + + if (queryGetCustomerById.rowCount === 0) { + return res.status(400).json({ + success: false, + error: `No customer with the id: ${customerId} was found`, + }); + } + res.status(200).json({ success: true, data: queryGetCustomerById.rows }); + } catch (error) { + res.status(500).json({ success: false, error: error }); + } +}); + +// [2] Add a new GET endpoint `/suppliers` to return all the suppliers from the database +app.get("/suppliers", async (req, res) => { + try { + const queryGetSuppliers = await db.query( + `SELECT * + FROM suppliers;` + ); + res.status(200).json({ success: true, data: queryGetSuppliers.rows }); + } catch (error) { + res.status(500).json({ success: false, error: error }); + } +}); + +// [2] Add a new GET endpoint `/products` to return all the product names along with their prices and supplier names. +// [3] Update the previous GET endpoint /products to filter the list of products by name using a query parameter, for example /products?name=Cup. This endpoint should still work even if you don't use the name query parameter! +app.get("/products", async (req, res) => { + try { + const productName = req.query.name; + + if (!productName) { + const queryGetProducts = await db.query( + `SELECT + p.product_name, + pa.unit_price, + s.supplier_name + FROM product_availability pa + INNER JOIN products p + ON (pa.prod_id = p.id) + INNER JOIN suppliers s + ON (pa.supp_id = s.id) + ORDER BY p.product_name, pa.unit_price;` + ); + + return res + .status(200) + .json({ success: true, data: queryGetProducts.rows }); + } + + if (productName && !isInjectionFree(productName)) { + return res + .status(400) + .json({ success: false, error: "You are attempting SQL Injection" }); + } + + const queryGetProductByName = await db.query( + `SELECT + p.product_name, + pa.unit_price, + s.supplier_name + FROM product_availability pa + INNER JOIN products p + ON (pa.prod_id = p.id) + INNER JOIN suppliers s + ON (pa.supp_id = s.id) + WHERE LOWER(p.product_name) LIKE '%' || LOWER($1) || '%' + ORDER BY p.product_name, pa.unit_price;`, + [productName] + ); + + if (queryGetProductByName.rowCount === 0) { + return res.status(400).json({ + success: false, + error: `No products with the name: ${productName} were found`, + }); + } + + return res + .status(200) + .json({ success: true, data: queryGetProductByName.rows }); + } catch (error) { + res.status(500).json({ success: false, error: error }); + } +}); + +// [3] Add a new POST endpoint /customers to create a new customer with name, address, city and country. +app.post("/customers", async (req, res) => { + try { + const { + name: newName, + address: newAddress, + city: newCity, + country: newCountry, + } = req.body; + + // this has issues because of blank spaces in user input... + // if ( + // !isInjectionFree(newName) || + // !isInjectionFree(newAddress) || + // !isInjectionFree(newCity) || + // !isInjectionFree(newCountry) + // ) { + // return res + // .status(400) + // .json({ success: false, error: "You may be attempting SQL Injection" }); + // } + + const queryGetCustomerByName = await db.query( + `SELECT 1 + FROM customers + WHERE LOWER(name) = $1;`, + [newName.toLowerCase()] + ); + + if (queryGetCustomerByName.rowCount > 0) { + return res.status(400).json({ + success: false, + error: `Customer with name: ${newName} already exists`, + }); + } + + const queryAddCustomer = await db.query( + `INSERT INTO customers (name, address, city, country) + VALUES ($1, $2, $3, $4) + RETURNING id;`, + [newName, newAddress, newCity, newCountry] + ); + + const newId = queryAddCustomer.rows[0].id; + + res.status(200).json({ + success: true, + message: `Customer CREATED, with id: ${newId}, name: ${newName}, address: ${newAddress}, city: ${newCity}, country: ${newCountry}`, + }); + } catch (error) { + res.status(500).json({ success: false, error: error }); + } +}); + +// [3] Add a new POST endpoint /products to create a new product. +app.post("/products", async (req, res) => { + try { + const newProductName = req.body.productname; + + // this has issues because of blank spaces in user input... + // if (!isInjectionFree(newProductName)) { + // return res.status(400).json({ + // success: false, + // error: `${newProductName} is not a valid Product name (or you may be attempting SQL Injection)`, + // }); + // } + + if (!newProductName) { + return res.status(400).json({ + success: false, + error: `Please provide a product name.`, + }); + } + + const queryGetProductByName = await db.query( + `SELECT 1 + FROM products + WHERE product_name = $1;`, + [newProductName] + ); + + if (queryGetProductByName.rowCount > 0) { + return res.status(400).json({ + success: false, + error: `Product with name: ${newProductName} already exists`, + }); + } + + const queryAddProduct = await db.query( + `INSERT INTO products (product_name) + VALUES ($1) + RETURNING id;`, + [newProductName] + ); + + const newId = queryAddProduct.rows[0].id; + + res.status(200).json({ + success: true, + message: `Product CREATED, with id: ${newId}, with name: ${newProductName}`, + }); + } catch (error) { + res.status(500).json({ success: false, error: error }); + } +}); + +// [3] Add a new POST endpoint /availability to create a new product availability (with a price and a supplier id). Check that the price is a positive integer and that both the product and supplier ID's exist in the database, otherwise return an error. +app.post("/availability", async (req, res) => { + try { + const { + productid: productId, + supplierid: supplierId, + unitprice: unitPrice, + } = req.body; + + if (!isValidId(productId)) { + return res.status(400).json({ + success: false, + error: `The product id ${productId} must be a positive integer`, + }); + } + + if (!isValidId(supplierId)) { + return res.status(400).json({ + success: false, + error: `The supplier id ${supplierId} must be a positive integer`, + }); + } + + if (!parseInt(unitPrice) || unitPrice <= 0) { + return res.status(400).json({ + success: false, + error: `The unit price ${unitPrice} must be a positive integer (not a float)`, + }); + } + + const queryProductById = await db.query( + `SELECT p.id + FROM products p + WHERE p.id = $1;`, + [productId] + ); + + if (queryProductById.rowCount === 0) { + return res.status(400).json({ + success: false, + error: `The product id ${productId} does not exist`, + }); + } + + const querySupplierById = await db.query( + `SELECT s.id + FROM suppliers s + WHERE s.id = $1;`, + [supplierId] + ); + + if (querySupplierById.rowCount === 0) { + return res.status(400).json({ + success: false, + error: `The supplier id ${supplierId} does not exist`, + }); + } + + const queryProductByIdAndSupplierById = await db.query( + `SELECT * + FROM product_availability + WHERE prod_id = $1 + AND supp_id = $2;`, + [productId, supplierId] + ); + + if (queryProductByIdAndSupplierById.rowCount > 0) { + return res.status(400).json({ + success: false, + error: `The product id ${productId} already exists for the supplier id ${supplierId}`, + }); + } + + const queryAddProductAvailability = await db.query( + `INSERT INTO product_availability (prod_id, supp_id, unit_price) + VALUES ($1, $2, $3) + RETURNING id;`, + [productId, supplierId, unitPrice] + ); + + const newId = queryAddProductAvailability.rows[0].id; + + res.status(200).json({ + success: true, + message: `Product availablity CREATED, with id: ${newId} with product id: ${productId}, with supplier id: ${supplierId}, with unit price: ${unitPrice}`, + }); + } catch (error) { + res.status(500).json({ success: false, error: error }); + } +}); + +// [3] Add a new POST endpoint /customers/:customerId/orders to create a new order (including an order date, and an order reference) for a customer. Check that the customerId corresponds to an existing customer or return an error. +app.post("/customers/:customerId/orders", async (req, res) => { + try { + const customerId = req.params.customerId; + + const { orderdate: newOrderDate, orderreference: newOrderReference } = + req.body; + + if (!isValidId(customerId)) { + return res.status(400).json({ + success: false, + error: `Customer id: ${customerId} is not a valid integer`, + }); + } + + if (!isValidDate(newOrderDate)) { + return res.status(400).json({ + success: false, + error: `Order date: ${newOrderDate} is not a valid date format (YYYY-MM-DD)`, + }); + } + + if (!isValidOrderReference(newOrderReference)) { + return res.status(400).json({ + success: false, + error: `Order reference: ${newOrderReference} is not a valid format (ORD000)`, + }); + } + + const queryCustomerId = await db.query( + `SELECT * FROM customers WHERE id = $1;`, + [customerId] + ); + + if (queryCustomerId.rowCount === 0) { + return res.status(400).json({ + success: false, + error: `No Customer with id: ${customerId} found`, + }); + } + + const queryInsert = await db.query( + `INSERT INTO orders (order_date, order_reference, customer_id) + VALUES($1, $2, $3) + RETURNING id`, + [newOrderDate, newOrderReference, customerId] + ); + + const newId = queryInsert.rows[0].id; + + res.status(200).json({ + success: true, + message: `Customer order CREATED, with id: ${newId}, with order date: ${newOrderDate}, with order reference: ${newOrderReference}, with customer id: ${customerId}`, + }); + } catch (error) { + res.status(500).json({ success: false, error: error }); + } +}); + +// [3] Add a new PUT endpoint /customers/:customerId to update an existing customer (name, address, city and country). +app.put("/customers/:customerId", async (req, res) => { + try { + const customerId = req.params.customerId; + const { + name: newName, + address: newAddress, + city: newCity, + country: newCountry, + } = req.body; + + if (!isValidId(customerId)) { + return res.status(400).json({ + success: false, + error: `Customer id: ${customerId} is not a valid integer`, + }); + } + + if (!newName || !newAddress || !newCity || !newCountry) { + return res.status(400).json({ + success: false, + error: `One of: name, city, address or country are empty`, + }); + } + + // this has issues because of blank spaces in user input... + // if ( + // !isInjectionFree(newName) || + // !isInjectionFree(newAddress) || + // !isInjectionFree(newCity) || + // !isInjectionFree(newCountry) + // ) { + // return res.status(400).json({ + // success: false, + // error: `One of: name, city, address or country are not valid (or you may be attempting SQL Injections)`, + // }); + // } + + const queryCustomerId = await db.query( + `SELECT * FROM customers WHERE id = $1;`, + [customerId] + ); + + if (queryCustomerId.rowCount === 0) { + return res.status(400).json({ + success: false, + error: `No Customer with id: ${customerId} found`, + }); + } + + const insertQuery = await db.query( + `UPDATE customers + SET name = $1, address = $2, city = $3, country = $4 + WHERE id = $5`, + [newName, newAddress, newCity, newCountry, customerId] + ); + // console.log(insertQuery); + + res.status(200).json({ + success: true, + message: `Customer id: ${customerId} UPDATED, with name: ${newName}, with address: ${newAddress}, with city: ${newCity}, with country: ${newCountry}`, + }); + } catch (error) { + res.status(500).json({ success: false, error: error }); + } +}); + +// [3] Add a new DELETE endpoint /orders/:orderId to delete an existing order along with all the associated order items. +app.delete("/orders/:orderId", async (req, res) => { + try { + const orderId = req.params.orderId; + + if (!isValidId(orderId)) { + return res.status(400).json({ + success: false, + error: `Order id: ${orderId} is not a valid integer`, + }); + } + + const queryOrderId = await db.query( + `SELECT 1 + FROM orders + WHERE id = $1`, + [orderId] + ); + + if (queryOrderId.rowCount === 0) { + return res.status(400).json({ + success: false, + error: `No Order with id: ${orderId} found`, + }); + } + + const queryDeletOrderItems = await db.query( + `DELETE + FROM order_items + WHERE order_id = $1`, + [orderId] + ); + // console.log("queryDeletOrderItems:", queryDeletOrderItems); + + const queryDeleteOrder = await db.query( + `DELETE + FROM orders + WHERE id = $1`, + [orderId] + ); + // console.log("queryDeleteOrder:", queryDeleteOrder); + + res.status(200).json({ + success: true, + message: `Order id: ${orderId} DELETED, and associated order items`, + }); + } catch (error) { + res.status(500).json({ success: false, error: error }); + } +}); + +// [3] Add a new DELETE endpoint /customers/:customerId to delete an existing customer only if this customer doesn't have orders. +app.delete("/customers/:customerId", async (req, res) => { + try { + const customerId = req.params.customerId; + + if (!isValidId(customerId)) { + return res.status(400).json({ + success: false, + error: `Customer id: ${customerId} is not a valid integer`, + }); + } + + const queryCustomerId = await db.query( + `SELECT * + FROM customers + WHERE id = $1`, + [customerId] + ); + + if (queryCustomerId.rowCount === 0) { + return res.status(400).json({ + success: false, + error: `No Customer with id: ${customerId} found`, + }); + } + + const queryOrdersWithCustomerId = await db.query( + `SELECT * + FROM orders + WHERE customer_id = $1;`, + [customerId] + ); + // console.log("queryOrdersWithCustomerId:", queryOrdersWithCustomerId); + + if (queryOrdersWithCustomerId.rowCount > 0) { + return res.status(400).json({ + success: false, + error: `Customer id: ${customerId} has Orders`, + }); + } + + const queryDeleteCustomer = await db.query( + `DELETE + FROM customers + WHERE id = $1`, + [customerId] + ); + // console.log("queryDeleteCustomer:", queryDeleteCustomer); + + res.status(200).json({ + success: true, + message: `Customer id: ${customerId} DELETED`, + }); + } catch (error) { + res.status(500).json({ success: false, error: error }); + } +}); + +// [3] Add a new GET endpoint /customers/:customerId/orders to load all the orders along with the items in the orders of a specific customer. Especially, the following information should be returned: order references, order dates, product names, unit prices, suppliers and quantities. +app.get("/customers/:customerId/orders", async (req, res) => { + try { + const customerId = req.params.customerId; + + const queryCustomerOrders = await db.query( + `SELECT + o.customer_id, + o.order_reference, + o.order_date, + p.product_name, + s.supplier_name, + pa.unit_price, + oi.quantity + FROM orders o + INNER JOIN order_items oi + ON o.id = oi.order_id + INNER JOIN product_availability pa + ON oi.product_id = pa.prod_id + AND oi.supplier_id = pa.supp_id + INNER JOIN products p + ON pa.prod_id = p.id + INNER JOIN suppliers s + ON pa.supp_id = s.id + WHERE o.customer_id = $1;`, + [customerId] + ); + + if (queryCustomerOrders.rowCount === 0) { + return res.status(400).json({ + success: false, + error: `Customer id: ${customerId} has no orders`, + }); + } + + res.status(200).json({ success: true, data: queryCustomerOrders.rows }); + } catch (error) { + res.status(500).json({ success: false, error: error }); + } +}); + +// Root route serving the index page +app.get("/", (req, res) => { + res.sendFile(__dirname + "./public/index.html"); +}); + +app.listen(3000, () => { + console.log("The server is running on port 3000"); +}); diff --git a/2-api/cyf-ecommerce-api/utils.js b/2-api/cyf-ecommerce-api/utils.js new file mode 100644 index 00000000..9ff20a93 --- /dev/null +++ b/2-api/cyf-ecommerce-api/utils.js @@ -0,0 +1,34 @@ +function isValidId(id) { + if ( + /^[0-9]+$/.test(id) === false || + parseInt(id) === NaN || + parseInt(id) <= 0 + ) { + return false; + } else { + return true; + } +} + +// this really needs to include "space" to be a catchall for everything but that probably allows injection +function isInjectionFree(queryParameter) { + const regex = /^[a-zA-Z0-9_\-.,]+$/g; + return regex.test(queryParameter); +} + +function isValidDate(date) { + const regex = /^\d{4}-\d{2}-\d{2}$/; + return regex.test(date); +} + +function isValidOrderReference(orderReference) { + const regex = /^ORD\d{3}$/; + return regex.test(orderReference); +} + +module.exports = { + isValidId, + isInjectionFree, + isValidDate, + isValidOrderReference, +};