From 91f672923400b607d7b29f5f4c5da0c2d190d45c Mon Sep 17 00:00:00 2001 From: coopcool Date: Thu, 4 Mar 2021 01:17:00 -0500 Subject: [PATCH 1/2] first commit --- app.js | 48 ++++++++++++++++ data/schema.sql | 21 +++++++ index.js | 41 +++++++++++++- package-lock.json | 140 ++++++++++++++++++++++++++++++++++++++++++++++ package.json | 6 +- script.js | 14 +++++ web/index.html | 5 ++ 7 files changed, 270 insertions(+), 5 deletions(-) create mode 100644 app.js create mode 100644 script.js diff --git a/app.js b/app.js new file mode 100644 index 0000000..1c3bdc9 --- /dev/null +++ b/app.js @@ -0,0 +1,48 @@ +//const Sequelize = require('sequelize'); + +//const Sequelize = new Sequelize( { +//dialect: 'sqlite', + // storage: 'movies.db' + +//}); + +//(async () => { + +//}) (); + +let mysql = require("mysql"); + +let con = mysql.createConnection({ + host:"localhost", + user: "root", + password: "password", + database: "pokedex" +}); + +con.connect(err => { + if(err) { + throw err; +} + +let id = 2 + let name = "Pikachu" + let img = "myurl2"; + +console.log(`INSERT INTO pokemon(id, name, img) VALUES (${id}, ${name}, ${img});`) + +id = 3 + name = "Squirtle" + img = "myurl3" + +console.log(`INSERT INTO pokemon (id, name, img) VALUES (${id}, ${name}, ${img});`) + +con.query("SELECT * FROM pokemon", err, result, fields) => { + +con.query(`INSERT INTO pokemon (id, name, img) VALUES ("${id}", "${name}", "${img}")`,(err, result, fields) => { + +if(err) +throw err, + + +cons +) diff --git a/data/schema.sql b/data/schema.sql index e69de29..44f6412 100644 --- a/data/schema.sql +++ b/data/schema.sql @@ -0,0 +1,21 @@ + + +CREATE DATABASE Pokemon; + +CREATE TABLE Pokemon ( + ID SMALLINT, + NAME VARCHAR(255), + TYPE VARCHAR (255) +); + +CREATE TABLE Types( +type_ID INT PRIMARY KEY NOT NULL auto_increment, +type VARCHAR(255) NOT NULL, +); + +CREATE TABLE pokemon_type ( + pokemon_type_id INT PRIMARY KEY NOT NULL auto_increment, + type_ID INT NOT NULL, + pokemon_id INT NOT NULL, + +); \ No newline at end of file diff --git a/index.js b/index.js index bba5463..88cd217 100644 --- a/index.js +++ b/index.js @@ -1,11 +1,46 @@ +//database: "pokemon" + + + const express = require('express') +let mysql = required("mysql"); const app = express() const port = 3000 -app.get('/', (req, res) => { - res.send('Hello World!') +app.get('/',(req,res) => { + res.send('Hello World!) +}) + +app.get("/pokemon",async (req,res) => { + let pokedex = await getPokedex(); + res.send(pokedex); }) app.listen(port, () => { console.log(`Example app listening at http://localhost:${port}`) -}) \ No newline at end of file +}) + +async function getPokedex() { + let con = mysql.createConnection({ + host:"localhost", + user:"root", + password: "password", + database: "pokedex" +}); + +let data = Await new Promise((resolve, reject) => { + con.query("SELECT * FROM pokemon", (err, result) => { + (err) ? reject(err):resolve(result); +}) + +}) + +con.end(); + +return data; + + + +getPokedex().then(console.log); + + diff --git a/package-lock.json b/package-lock.json index 1fca92a..5e9922b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,6 +4,11 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "@types/node": { + "version": "14.14.31", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.31.tgz", + "integrity": "sha512-vFHy/ezP5qI0rFgJ7aQnjDXwAMrG0KqqIH7tQG5PPv3BWBayOPIQNBjVc/P6hhdZfMx51REc6tfDNXHUio893g==" + }, "accepts": { "version": "1.3.7", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", @@ -13,11 +18,21 @@ "negotiator": "0.6.2" } }, + "any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=" + }, "array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, "body-parser": { "version": "1.19.0", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", @@ -40,6 +55,15 @@ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" }, + "cls-bluebird": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cls-bluebird/-/cls-bluebird-2.1.0.tgz", + "integrity": "sha1-N+8eCAqP+1XC9BZPU28ZGeeWiu4=", + "requires": { + "is-bluebird": "^1.0.2", + "shimmer": "^1.1.0" + } + }, "content-disposition": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", @@ -81,6 +105,11 @@ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" }, + "dottie": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/dottie/-/dottie-2.0.2.tgz", + "integrity": "sha512-fmrwR04lsniq/uSr8yikThDTrM7epXHBAAjH9TbeH3rEA8tdCO7mRzB9hdmdGyJCxF8KERo9CITcm3kGuoyMhg==" + }, "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -182,6 +211,11 @@ "safer-buffer": ">= 2.1.2 < 3" } }, + "inflection": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/inflection/-/inflection-1.12.0.tgz", + "integrity": "sha1-ogCTVlbW9fa8TcdQLhrstwMihBY=" + }, "inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", @@ -192,6 +226,16 @@ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" }, + "is-bluebird": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-bluebird/-/is-bluebird-1.0.2.tgz", + "integrity": "sha1-CWQ5Bg9KpBGr7hkUOoTWpVNG1uI=" + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, "media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", @@ -225,6 +269,19 @@ "mime-db": "1.45.0" } }, + "moment": { + "version": "2.29.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", + "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==" + }, + "moment-timezone": { + "version": "0.5.33", + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.33.tgz", + "integrity": "sha512-PTc2vcT8K9J5/9rDEPe5czSIKgLoGsH8UNpA4qZTVw0Vd/Uz19geE9abbIOQKaAQFcnQ3v5YEXrbSc5BpshH+w==", + "requires": { + "moment": ">= 2.9.0" + } + }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -283,6 +340,14 @@ "unpipe": "1.0.0" } }, + "retry-as-promised": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/retry-as-promised/-/retry-as-promised-3.2.0.tgz", + "integrity": "sha512-CybGs60B7oYU/qSQ6kuaFmRd9sTZ6oXSc0toqePvV74Ac6/IFZSI1ReFQmtCN+uvW1Mtqdwpvt/LGOiCBAY2Mg==", + "requires": { + "any-promise": "^1.3.0" + } + }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -293,6 +358,11 @@ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + }, "send": { "version": "0.17.1", "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", @@ -320,6 +390,48 @@ } } }, + "sequelize": { + "version": "5.22.3", + "resolved": "https://registry.npmjs.org/sequelize/-/sequelize-5.22.3.tgz", + "integrity": "sha512-+nxf4TzdrB+PRmoWhR05TP9ukLAurK7qtKcIFv5Vhxm5Z9v+d2PcTT6Ea3YAoIQVkZ47QlT9XWAIUevMT/3l8Q==", + "requires": { + "bluebird": "^3.5.0", + "cls-bluebird": "^2.1.0", + "debug": "^4.1.1", + "dottie": "^2.0.0", + "inflection": "1.12.0", + "lodash": "^4.17.15", + "moment": "^2.24.0", + "moment-timezone": "^0.5.21", + "retry-as-promised": "^3.2.0", + "semver": "^6.3.0", + "sequelize-pool": "^2.3.0", + "toposort-class": "^1.0.1", + "uuid": "^3.3.3", + "validator": "^10.11.0", + "wkx": "^0.4.8" + }, + "dependencies": { + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "sequelize-pool": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/sequelize-pool/-/sequelize-pool-2.3.0.tgz", + "integrity": "sha512-Ibz08vnXvkZ8LJTiUOxRcj1Ckdn7qafNZ2t59jYHMX1VIebTAOYefWdRYFt6z6+hy52WGthAHAoLc9hvk3onqA==" + }, "serve-static": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", @@ -336,6 +448,11 @@ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" }, + "shimmer": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/shimmer/-/shimmer-1.2.1.tgz", + "integrity": "sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==" + }, "statuses": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", @@ -346,6 +463,11 @@ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" }, + "toposort-class": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toposort-class/-/toposort-class-1.0.1.tgz", + "integrity": "sha1-f/0feMi+KMO6Rc1OGj9e4ZO9mYg=" + }, "type-is": { "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", @@ -365,10 +487,28 @@ "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + }, + "validator": { + "version": "10.11.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-10.11.0.tgz", + "integrity": "sha512-X/p3UZerAIsbBfN/IwahhYaBbY68EN/UQBWHtsbXGT5bfrH/p4NQzUCG1kF/rtKaNpnJ7jAu6NGTdSNtyNIXMw==" + }, "vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + }, + "wkx": { + "version": "0.4.8", + "resolved": "https://registry.npmjs.org/wkx/-/wkx-0.4.8.tgz", + "integrity": "sha512-ikPXMM9IR/gy/LwiOSqWlSL3X/J5uk9EO2hHNRXS41eTLXaUFEVw9fn/593jW/tE5tedNg8YjT5HkCa4FqQZyQ==", + "requires": { + "@types/node": "*" + } } } } diff --git a/package.json b/package.json index 944e450..ad09bb6 100644 --- a/package.json +++ b/package.json @@ -18,6 +18,8 @@ }, "homepage": "https://github.com/code-differently/Pokedex-App#readme", "dependencies": { - "express": "^4.17.1" - } + "express": "^4.17.1", + "sequelize": "^5.22.3" + }, + "keywords": [] } diff --git a/script.js b/script.js new file mode 100644 index 0000000..66acb4e --- /dev/null +++ b/script.js @@ -0,0 +1,14 @@ +//fetch ("http://localhost:3000/customers") + +//.then(response => response.json()) +//.then(console.log) + +fetch("http://localhost:3000/pokemon") + .then(response => response.json()) + .then(customers => { + +document.getElementByID("pokemon").innerHTML=pokemon.map(pokemon => `
$ +{pokemon.name}: ${pokemon.name}
`).join("") +} + +.then(console.log); diff --git a/web/index.html b/web/index.html index 1de928b..13193c1 100644 --- a/web/index.html +++ b/web/index.html @@ -8,4 +8,9 @@

Hello Pokemon!

+ + + + + \ No newline at end of file From 4f27fcd099a57df03e1b9591038aa9f28bc69af5 Mon Sep 17 00:00:00 2001 From: coopcool Date: Sat, 6 Mar 2021 11:10:53 -0500 Subject: [PATCH 2/2] edited --- app.js | 18 +++++++++--------- data/schema.sql | 6 +++++- index.js | 17 +++++++++-------- package-lock.json | 14 +++++++------- 4 files changed, 30 insertions(+), 25 deletions(-) diff --git a/app.js b/app.js index 1c3bdc9..c3ac0f9 100644 --- a/app.js +++ b/app.js @@ -21,14 +21,14 @@ let con = mysql.createConnection({ con.connect(err => { if(err) { - throw err; -} + throw err;} +} ) let id = 2 let name = "Pikachu" let img = "myurl2"; -console.log(`INSERT INTO pokemon(id, name, img) VALUES (${id}, ${name}, ${img});`) + console.log(`INSERT INTO pokemon(id, name, img) VALUES (${id}, ${name}, ${img});`) id = 3 name = "Squirtle" @@ -36,13 +36,13 @@ id = 3 console.log(`INSERT INTO pokemon (id, name, img) VALUES (${id}, ${name}, ${img});`) -con.query("SELECT * FROM pokemon", err, result, fields) => { +//con.query("SELECT * FROM pokemon", err, result, fields) => { -con.query(`INSERT INTO pokemon (id, name, img) VALUES ("${id}", "${name}", "${img}")`,(err, result, fields) => { +//con.query(`INSERT INTO pokemon (id, name, img) VALUES ("${id}", "${name}", "${img}")`,(err, result, fields) => { -if(err) -throw err, +///if(err) +///throw err, -cons -) +//cons +//} diff --git a/data/schema.sql b/data/schema.sql index 44f6412..cd300fc 100644 --- a/data/schema.sql +++ b/data/schema.sql @@ -18,4 +18,8 @@ CREATE TABLE pokemon_type ( type_ID INT NOT NULL, pokemon_id INT NOT NULL, -); \ No newline at end of file +); + +SELECT * FROM Pokemon; +SELECT * FROM Types; +SELECT * FROM pokemon_type; \ No newline at end of file diff --git a/index.js b/index.js index 88cd217..1e3f0ff 100644 --- a/index.js +++ b/index.js @@ -21,16 +21,17 @@ app.listen(port, () => { }) async function getPokedex() { + let con = mysql.createConnection({ - host:"localhost", - user:"root", - password: "password", - database: "pokedex" + host:"localhost", + user:"root", + password: "password", + database: "pokedex" }); -let data = Await new Promise((resolve, reject) => { - con.query("SELECT * FROM pokemon", (err, result) => { - (err) ? reject(err):resolve(result); + let data = Await new Promise((resolve, reject) => { + con.query("SELECT * FROM pokemon", (err, result) => { + (err) ? reject(err):resolve(result); }) }) @@ -43,4 +44,4 @@ return data; getPokedex().then(console.log); - +} diff --git a/package-lock.json b/package-lock.json index 5e9922b..27dd0cc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -257,16 +257,16 @@ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" }, "mime-db": { - "version": "1.45.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz", - "integrity": "sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==" + "version": "1.46.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.46.0.tgz", + "integrity": "sha512-svXaP8UQRZ5K7or+ZmfNhg2xX3yKDMUzqadsSqi4NCH/KomcH75MAMYAGVlvXn4+b/xOPhS3I2uHKRUzvjY7BQ==" }, "mime-types": { - "version": "2.1.28", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz", - "integrity": "sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==", + "version": "2.1.29", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.29.tgz", + "integrity": "sha512-Y/jMt/S5sR9OaqteJtslsFZKWOIIqMACsJSiHghlCAyhf7jfVYjKBmLiX8OgpWeW+fjJ2b+Az69aPFPkUOY6xQ==", "requires": { - "mime-db": "1.45.0" + "mime-db": "1.46.0" } }, "moment": {