From a7eea891ead941a7cb13facf04521cb17189b271 Mon Sep 17 00:00:00 2001 From: Edward-jiang495 <54651927+Edward-jiang495@users.noreply.github.com> Date: Fri, 4 Mar 2022 16:27:15 -0600 Subject: [PATCH 1/8] Create README.md --- challenges/frontend_challenges/README.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 challenges/frontend_challenges/README.md diff --git a/challenges/frontend_challenges/README.md b/challenges/frontend_challenges/README.md new file mode 100644 index 000000000..39cfe4ca2 --- /dev/null +++ b/challenges/frontend_challenges/README.md @@ -0,0 +1,5 @@ +# Headstorm frontend challenges (Zhengran Jiang) +Here are my codes for the frontend challenges. Since it states to build a webiste quickly, I did not use any external JavaScript libraries like jQueries or React and keep my code minimal. + +Also, the frontend challenge states to use Google recaptcha v3 but the link directs to v2, so I assume that recaptcha v2 is the one that I should be using. + From 930c52826b8330683d1c6b651ea9d7d8f711d6b4 Mon Sep 17 00:00:00 2001 From: Edward-jiang495 <54651927+Edward-jiang495@users.noreply.github.com> Date: Fri, 4 Mar 2022 16:28:10 -0600 Subject: [PATCH 2/8] Create README.md --- challenges/backend_challenges/README.md | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 challenges/backend_challenges/README.md diff --git a/challenges/backend_challenges/README.md b/challenges/backend_challenges/README.md new file mode 100644 index 000000000..d3bdfd6e6 --- /dev/null +++ b/challenges/backend_challenges/README.md @@ -0,0 +1,6 @@ +# Headstorm database challenges Zhengran Jiang +Here are my codes for the database challenge. I use MySQL as the relational database language and python to display these commands. +There are test data generated by python and they are in the form of a list of dictionaries. The generate_test_data function generate a test file of size size. +I did not print the create database and tables statement in console since it did not specifically say so. However, these create statements are in the database.py file starting at line 49. To print them, uncomment line 80. + +The data visualization is in the form of an ER diagram in relational data model visualization.png From eccfa777466a5ec6ab0e6740d92d06015a47c6c4 Mon Sep 17 00:00:00 2001 From: Edward-jiang495 <54651927+Edward-jiang495@users.noreply.github.com> Date: Fri, 4 Mar 2022 16:29:03 -0600 Subject: [PATCH 3/8] Delete challenges/backend_challenges directory --- challenges/backend_challenges/README.md | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 challenges/backend_challenges/README.md diff --git a/challenges/backend_challenges/README.md b/challenges/backend_challenges/README.md deleted file mode 100644 index d3bdfd6e6..000000000 --- a/challenges/backend_challenges/README.md +++ /dev/null @@ -1,6 +0,0 @@ -# Headstorm database challenges Zhengran Jiang -Here are my codes for the database challenge. I use MySQL as the relational database language and python to display these commands. -There are test data generated by python and they are in the form of a list of dictionaries. The generate_test_data function generate a test file of size size. -I did not print the create database and tables statement in console since it did not specifically say so. However, these create statements are in the database.py file starting at line 49. To print them, uncomment line 80. - -The data visualization is in the form of an ER diagram in relational data model visualization.png From 2dd50dbc7ea18ec48f9e33406e681365d79f762f Mon Sep 17 00:00:00 2001 From: Edward-jiang495 <54651927+Edward-jiang495@users.noreply.github.com> Date: Fri, 4 Mar 2022 16:29:22 -0600 Subject: [PATCH 4/8] Create README.md --- challenges/database_challenges/README.md | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 challenges/database_challenges/README.md diff --git a/challenges/database_challenges/README.md b/challenges/database_challenges/README.md new file mode 100644 index 000000000..d3bdfd6e6 --- /dev/null +++ b/challenges/database_challenges/README.md @@ -0,0 +1,6 @@ +# Headstorm database challenges Zhengran Jiang +Here are my codes for the database challenge. I use MySQL as the relational database language and python to display these commands. +There are test data generated by python and they are in the form of a list of dictionaries. The generate_test_data function generate a test file of size size. +I did not print the create database and tables statement in console since it did not specifically say so. However, these create statements are in the database.py file starting at line 49. To print them, uncomment line 80. + +The data visualization is in the form of an ER diagram in relational data model visualization.png From 71044678d9d739bcf65c36bfdaf6adf88e5d9c39 Mon Sep 17 00:00:00 2001 From: Edward-jiang495 <54651927+Edward-jiang495@users.noreply.github.com> Date: Fri, 4 Mar 2022 16:29:54 -0600 Subject: [PATCH 5/8] Add files via upload --- challenges/database_challenges/database.py | 109 +++++++++++++++++ .../relational data model visualization.png | Bin 0 -> 36011 bytes challenges/database_challenges/test.json | 112 ++++++++++++++++++ 3 files changed, 221 insertions(+) create mode 100644 challenges/database_challenges/database.py create mode 100644 challenges/database_challenges/relational data model visualization.png create mode 100644 challenges/database_challenges/test.json diff --git a/challenges/database_challenges/database.py b/challenges/database_challenges/database.py new file mode 100644 index 000000000..1ce774ec6 --- /dev/null +++ b/challenges/database_challenges/database.py @@ -0,0 +1,109 @@ +import json +import random +import string + +def generate_phone_number(): + phone = ''.join(str(random.randint(0, 9)) for i in range(3)) + phone += "."+ ''.join(str(random.randint(0, 9)) for i in range(3)) + phone += "."+ ''.join(str(random.randint(0, 9)) for i in range(4)) + return phone + + +def generate_test_data(size): + nosql_data =[] + letters = string.ascii_lowercase + + + for i in range(1,size+1): + name = ''.join(random.choice(letters) for i in range(5)) + " " +''.join(random.choice(letters) for i in range(5)) + cellphone = generate_phone_number() + workphone = generate_phone_number() + email = name.replace(" ","")+ "@gmail.com" + address = ''.join(str(random.randint(0, 9)) for i in range(3)) + " Test Way, Dallas TX 75205" + basic_widget_order = random.randint(1, 100) + advanced_widget_order = random.randint(1, 100) + if random.randint(0,1)==0: + protection=False + else: + protection=True + pydict = { + "Record ID": i, + "Name": name, + "Cell Phone":cellphone, + "Work Phone": workphone, + "Email": email, + "Address":address, + "Basic Widget Order": basic_widget_order, + "Advanced Widget Order": advanced_widget_order, + "Protection": protection + } + nosql_data.append(pydict) + with open ("test.json","w") as outfile: + json.dump(nosql_data, outfile,indent=4) + +if __name__ =="__main__": + # generate_test_data(10) + with open ("test.json") as test: + test_data = json.load(test) + # print(json.dumps(test_data,indent=4)) + create_stmt = """ + create database if not exists headstorm_backend; + use headstorm_backend; + create table if not exists application_user ( + record_id Int auto_increment primary key, + username varchar(255) not null, + email varchar(255), + address varchar(255) + ); + create table if not exists application_phone_number( + phone_id Int auto_increment primary key, + record_id Int, + isWork tinyint(1) not null default 0, + contact varchar(15) not null, + foreign key (record_id) references application_user(record_id) + on update restrict + on delete cascade + ); + + create table if not exists application_order( + order_id int auto_increment primary key, + record_id int, + basic_widget_order int not null, + advanced_widget_order int not null, + protection tinyint(1) not null default 0, + foreign key (record_id) references application_user(record_id) + on update restrict + on delete cascade + ); + show tables; + """ + # print(create_stmt) + + for element in test_data: + insert_stmt_user = """ + insert into application_user( + record_id, username, email, address + ) + Values({0},\"{1}\",\"{2}\", \"{3}\"); + """ + print(insert_stmt_user.format(element["Record ID"], element["Name"], element["Email"],element["Address"])) + insert_stmt_phone_number =""" + insert into application_phone_number( + record_id, isWork,contact + ) + Values({0},{1},\"{2}\"); + """ + if element["Cell Phone"]!="": + print(insert_stmt_phone_number.format(element["Record ID"], 0, element["Cell Phone"])) + if element["Work Phone"]!="": + print(insert_stmt_phone_number.format(element["Record ID"], 1, element["Work Phone"])) + insert_stmt_order =""" + insert into application_order ( + record_id, basic_widget_order, advanced_widget_order,protection) + Values({0},{1},{2},{3}); + """ + if element["Protection"]: + protected =1 + else: + protected =0 + print(insert_stmt_order.format(element["Record ID"], element["Basic Widget Order"], element["Advanced Widget Order"],protected)) \ No newline at end of file diff --git a/challenges/database_challenges/relational data model visualization.png b/challenges/database_challenges/relational data model visualization.png new file mode 100644 index 0000000000000000000000000000000000000000..b4f7bb3ccf78bfd205e101c1b5bf2d68da78770e GIT binary patch literal 36011 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 Date: Fri, 4 Mar 2022 16:30:41 -0600 Subject: [PATCH 6/8] frontend changes pushed --- challenges/frontend_challenges/index.html | 73 +++++++++++++++++++++++ challenges/frontend_challenges/style.css | 43 +++++++++++++ 2 files changed, 116 insertions(+) create mode 100644 challenges/frontend_challenges/index.html create mode 100644 challenges/frontend_challenges/style.css diff --git a/challenges/frontend_challenges/index.html b/challenges/frontend_challenges/index.html new file mode 100644 index 000000000..64887e4f9 --- /dev/null +++ b/challenges/frontend_challenges/index.html @@ -0,0 +1,73 @@ + + + + + + + Document + + + + + +

Headstorm

+
+
+
+ +
+
+ +
+
+ +
+ + +
+ + +
+ + + \ No newline at end of file diff --git a/challenges/frontend_challenges/style.css b/challenges/frontend_challenges/style.css new file mode 100644 index 000000000..5c35cd07d --- /dev/null +++ b/challenges/frontend_challenges/style.css @@ -0,0 +1,43 @@ +.companyName{ + position: fixed; + text-align: center; + left: 45%; + top:5%; + margin-left: auto; + margin-right: auto; +} +.label{ + position: fixed; + text-align: center; + margin-left: auto; + margin-right: auto ; +} + +.input{ + position: fixed; + text-align: center; + left: 45%; + margin-left: auto; + margin-right: auto ; +} + +.inputTextarea{ + top:55%; + position: fixed; + width: 30%; + left: 38%; + margin-left: auto; + margin-right: auto ; +} + +.submitButton{ + top:90%; + position: fixed; + left: 50%; +} + +.gverify{ + top: 70%; + position: fixed; + left: 40%; +} \ No newline at end of file From 0819fdd719d26ced048a53b1139c8115f7963c36 Mon Sep 17 00:00:00 2001 From: Edward-jiang495 <54651927+Edward-jiang495@users.noreply.github.com> Date: Fri, 4 Mar 2022 16:31:34 -0600 Subject: [PATCH 7/8] add images --- challenges/frontend_challenges/images/README.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 challenges/frontend_challenges/images/README.md diff --git a/challenges/frontend_challenges/images/README.md b/challenges/frontend_challenges/images/README.md new file mode 100644 index 000000000..b815a980d --- /dev/null +++ b/challenges/frontend_challenges/images/README.md @@ -0,0 +1 @@ +Here is the favicon image. From d773d2bf58474f99f2ba0295bdf5612aed447379 Mon Sep 17 00:00:00 2001 From: Edward-jiang495 <54651927+Edward-jiang495@users.noreply.github.com> Date: Fri, 4 Mar 2022 16:31:48 -0600 Subject: [PATCH 8/8] Add files via upload --- .../frontend_challenges/images/favicon.ico | Bin 0 -> 12796 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 challenges/frontend_challenges/images/favicon.ico diff --git a/challenges/frontend_challenges/images/favicon.ico b/challenges/frontend_challenges/images/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..764d1c0b32221208e151b0748273fd0f729fcdcb GIT binary patch literal 12796 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 xA2q`>9R<7PbM3az3^