From 7b5185d92daad5d1b15d6f9468f3f8c41f972342 Mon Sep 17 00:00:00 2001 From: rzmk Date: Sun, 20 Jun 2021 08:14:46 -0400 Subject: [PATCH] Create newsletter signup app --- .gitignore | 2 + LICENSE.txt | 21 ++ Procfile | 1 + README.md | 96 +++++++ app.js | 55 ++++ failure.html | 18 ++ package-lock.json | 510 ++++++++++++++++++++++++++++++++++++++ package.json | 15 ++ public/img/logo.png | Bin 0 -> 27436 bytes public/img/screenshot.png | Bin 0 -> 31928 bytes signup.html | 60 +++++ styles.css | 50 ++++ success.html | 18 ++ 13 files changed, 846 insertions(+) create mode 100644 .gitignore create mode 100644 LICENSE.txt create mode 100644 Procfile create mode 100644 README.md create mode 100644 app.js create mode 100644 failure.html create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 public/img/logo.png create mode 100644 public/img/screenshot.png create mode 100644 signup.html create mode 100644 styles.css create mode 100644 success.html diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..97aca2e --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.env +node_modules \ No newline at end of file diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 0000000..ad239f4 --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2018 Othneil Drew + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/Procfile b/Procfile new file mode 100644 index 0000000..207d22f --- /dev/null +++ b/Procfile @@ -0,0 +1 @@ +web: node app.js \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..2e2560c --- /dev/null +++ b/README.md @@ -0,0 +1,96 @@ + +
+

+ + Logo + + +

Rutgers Esports Newsletter App

+

+ View the site ยป +
+

+

+ + + + +
+ Table of Contents +
    +
  1. + About The Project + +
  2. +
  3. License
  4. +
  5. Contact
  6. +
  7. Acknowledgements
  8. +
+
+ + + + +## About The Project + +![Rutgers Esports Newsletter App Screenshot][product-screenshot] + +A simple web application for the Rutgers Esports newsletter sign-up. + +Details +* Developing based on the [Web Developer Bootcamp](https://www.udemy.com/share/1013gG/) course. +* My first server-side web-app, which provides intuition on how the front-end and back-end interact. +* Interacting with the [MailChimp API](https://mailchimp.com/developer/) using a POST request form. +* Hosted on [Heroku](https://www.heroku.com/) + +### Built With + +* [Bootstrap](https://getbootstrap.com) +* [Node.js](https://nodejs.org) +* [Express](https://expressjs.com) +* [Heroku](https://www.heroku.com/) + + + + +## Contributing + +Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are **greatly appreciated**. + +1. Fork the Project +2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`) +3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`) +4. Push to the Branch (`git push origin feature/AmazingFeature`) +5. Open a Pull Request + + + + +## License + +Distributed under the MIT License. See `LICENSE` for more information. + + + + +## Contact + +Mueez Khan - [@mueezkhan_](https://twitter.com/mueezkhan_) + +Project Link: [https://github.com/rzmk/Rutgers-Esports-Newsletter-App](https://github.com/rzmk/Rutgers-Esports-Newsletter-App) + + + + +## Acknowledgements +* [The Complete Web Development Bootcamp](https://www.udemy.com/share/1013gG/) +* [Best-README-Template](https://github.com/othneildrew/Best-README-Template) +* [MailChimp API](https://mailchimp.com/developer/) + + + + + +[product-screenshot]: public/img/screenshot.png diff --git a/app.js b/app.js new file mode 100644 index 0000000..25fac73 --- /dev/null +++ b/app.js @@ -0,0 +1,55 @@ +const express = require('express') +const mailchimp = require("@mailchimp/mailchimp_marketing") + +const app = express() + +app.use(express.static(__dirname)) +app.use(express.json()) +app.use(express.urlencoded({extended: true})) + +app.get("/", (req, res) => { + res.sendFile(__dirname + "/signup.html") +}) + +mailchimp.setConfig({ + apiKey: process.env.MC_API_KEY, + server: process.env.MC_SERVER +}) + +app.post("/", (req, res) => { + const firstName = req.body.fName + const lastName = req.body.lName + const email = req.body.email + + async function addContact(contactData) { + try { + const response = await mailchimp.lists.addListMember(process.env.MC_LIST_ID, contactData) + console.log(`Successfully added contact as an audience member. The contact's id is ${response.id}`) + res.sendFile(__dirname + "/success.html") + } + catch(err) { + // console.log(err) + res.sendFile(__dirname + "/failure.html") + } + } + + const contactObject = + { + email_address: email, + status: "subscribed", + merge_fields: { + EMAIL: email, + FNAME: firstName, + LNAME: lastName + } + } + + const payload = JSON.stringify(contactObject) + addContact(payload) + // console.log(firstName + lastName + email) + // console.log(payload) +}) + +app.listen(process.env.PORT || '3000', (req, res) => { + console.log("Server is running.") +}) \ No newline at end of file diff --git a/failure.html b/failure.html new file mode 100644 index 0000000..9d9835b --- /dev/null +++ b/failure.html @@ -0,0 +1,18 @@ + + + + + + + Failure! + + + +
+
+

Oops!

+

Something went wrong!

+
+
+ + \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..0644604 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,510 @@ +{ + "name": "rutgers-esports-newsletter-signup", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@mailchimp/mailchimp_marketing": { + "version": "3.0.48", + "resolved": "https://registry.npmjs.org/@mailchimp/mailchimp_marketing/-/mailchimp_marketing-3.0.48.tgz", + "integrity": "sha512-KYmeSly4fXf8vkZONEOhv461QylcM1SsTrknNZu49aRrnPEsl9RYez9wCtxGYYSPuUAqB/FXmvo2BLVXkGetYg==", + "requires": { + "dotenv": "^8.2.0", + "superagent": "3.7.0" + } + }, + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "requires": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + } + }, + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" + }, + "content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "requires": { + "safe-buffer": "5.1.2" + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + }, + "cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + }, + "cookiejar": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.2.tgz", + "integrity": "sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA==" + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "dotenv": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz", + "integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==" + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + }, + "express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "requires": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + } + }, + "form-data": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", + "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "formidable": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.2.tgz", + "integrity": "sha512-V8gLm+41I/8kguQ4/o1D3RIHRmhYFG4pnNyonvua+40rqcEmT4+V71yaZ3B457xbbgCsCfjSPi65u/W6vK1U5Q==" + }, + "forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + }, + "http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "mime-db": { + "version": "1.48.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.48.0.tgz", + "integrity": "sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ==" + }, + "mime-types": { + "version": "2.1.31", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.31.tgz", + "integrity": "sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg==", + "requires": { + "mime-db": "1.48.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "requires": { + "ee-first": "1.1.1" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "requires": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + } + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + }, + "raw-body": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + } + } + }, + "serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + } + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "superagent": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-3.7.0.tgz", + "integrity": "sha512-/8trxO6NbLx4YXb7IeeFTSmsQ35pQBiTBsLNvobZx7qBzBeHYvKCyIIhW2gNcWbLzYxPAjdgFbiepd8ypwC0Gw==", + "requires": { + "component-emitter": "^1.2.0", + "cookiejar": "^2.1.0", + "debug": "^3.1.0", + "extend": "^3.0.0", + "form-data": "^2.3.1", + "formidable": "^1.1.1", + "methods": "^1.1.1", + "mime": "^1.4.1", + "qs": "^6.5.1", + "readable-stream": "^2.0.5" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + } + } + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..7475fda --- /dev/null +++ b/package.json @@ -0,0 +1,15 @@ +{ + "name": "rutgers-esports-newsletter-signup", + "version": "1.0.0", + "description": "A simple sign-up page for the Rutgers Esports mailing list.", + "main": "app.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "Mueez Khan", + "license": "ISC", + "dependencies": { + "@mailchimp/mailchimp_marketing": "^3.0.48", + "express": "^4.17.1" + } +} diff --git a/public/img/logo.png b/public/img/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..13e0078c3ef92126b97aa46157eb806349d43100 GIT binary patch literal 27436 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

~3+WKPDx}2K%+|S0a)H>RK?%Vi}Ld;>o zyYjmDK-q)5xV${syr&AeEiDFcpb4ccDV?n%^{65!@Ia;fN0r4wpLQ=Gm*+>Shn_ZA z43LQ_DMC6OH`v?L_b>`b{@JruK-(a&}}-v<)~weJ^t z-Sbge*9YGjbZXP^LPu?!zfb@fp%J)}Kg#!Rf6BZ27uhp;tdRJk1g$+|hjeN%QvBWH z4N;U2ogp3hvlBCZVZprid+>BX7^A$r`YcVgk}Wd`>h1N7Lw^!)Pk!13E2XK{jn+$q z!pC86M!n2gP83>Sq8MxaEp0%q-KufKth-xNMP>xfu;D(0lc?m_=)84lN#0B9w#V8? zlMXz3g86eclpBY`vTJG_L6V;ej~FZ%b3XoESvYqtLBwv4^GHz&d2DHW|o#o41zc(mVariZN<&ZTm7HHN-TMKjhXMtANR(qwT_f;Ja#Gu z2->g3@dgH)Vr-RuPfrg(ac|A5-PD#Wo%)=KtK^DmfLuR-2GlvRL#Dfw z(c;);`Uy8dw7x||b0*7O`N!UPqyZ@@o`#eTI)5EJo^2T_IiVl$B(o6k7l{S7%GyZ3 zX8SIdzdm<{a@frHMHEz#1d}(x&++UP#n+JSlE0+ylrT8yJ<=O3AiJ_LTU<%?N3vpEX04CgL@JE?23p`b^wl6!dya&ymv$55r(ZZlcc^IhEzw;D|#b#(Jtq#qLX4f3XzkxVT$l*-U8%rOT-?@v!Z3JHPs^CJXmYL7a@ zg|R|aPU3H2VPW9Dp7P8v{0gzhBVMZ?ku8vkyma||as`oZH#Ur~#5Osam}h)P%k=cp zUFyOxt`kFjtM62vkgx}W<_{XIs-w;n`H3p$)>Y{Kr}SEy9tcPrO)$*u9Ud+ONM73S z#D7L2*P|M(nB?|H6-v==wu#dhIr}43M-dk+#l?2>+=Gk-V<9xut=%ldx(18HmDf43 z-$|VCvF_RwCRG!JRmUlSP^D0*sP3%u`c5Ymuf8!{Cr@6=wSW*{Da1k-@CrwT+ScVP z68&l3k-PH~S4M)!1%-v}IiUQ#sLM!kodcja$K{YXDYW4rs@0Qm$ov+*U;E?7q!_6x z^l&;@$+7f;-7a3qUPw4$U{U7XND45WPP#lbXYb zJ=VCn!2IlXA?8OSP4H-cf6tag=}%6zK&55I%F3$YH}`b5Ut-j57SvF~f8hlOCuc~| zIee;}Km>n&VoCYBtUKf6B=La?X0Xrd8-ysip%JBdthfFAI1XQ`;^~8U`t@rWDD@^b zxg1KEo4!&k!H&%=Uzg^+1Zr=_QDUnQghoFzD4uQF=hShVHscw0rtu{Aq=5HH6(_M;>!|wh7>id%|5xDfCW}zs=K?* zfz!wY@*_n~mGC@J<$hf|Ymr#ZhrWLO65z6AYEC1~;nN)%vMEds$KfDU(AnsYe}uV8 zn?E$!bP)N&b}DGGbwKF&sZ)16zv>p*@kn{g?qYNQ^28Og1ZgL|)ozGm8|CFeI|TRQ zKNS`kQt8CFI9>$&34S9~8m}r2?I)3uk;41;FS_}8cCir0Lh|`>4C`X$jPGl$BO(j} zsRJIw@89vA!86L?+Dw233C^s0|oK-PV3f<&L+uPTbLB^(4J{QGv@*eDB@W|>q^gz(R31Joyl0x=dWxk@S)0FJXfJuCR zW9T&iKJ#@&MMQcS8vQ*={=`0psrjyK)BicWlJNOmzYuR!*+2F{#jJk?@-V56LG!BB zls>!kKO6o-LSs#5S-kjqAxTqr5Yt9qbpClpu6d8a%k8a%1vR6R=L(tZjDtfMw!seq zh8AW?#Q@48(*^L$rS5IFA@yx)LN=oA?1k&kwegSl!UnN!3 zKz5CFZ+>Ekjr^6%eP~Q8(_Q(n370Y?l|<@!UGpg;_Fb!*s%kC+o(Me0;vu2Oz!flR zXsqan(F9l!;07yE7JE=P(K!iQB@Q zcYWCwBdD-aO%74K$(h3fv%j;p5Rb}byj)&CC?|L5Y&q-2uTVcL^P3;68-DNi5oblS zi6m^PIEQN-rM>AzV*(lL{Mv{r+&Rj-yElsC)C*ZhQSIPwM1k3kFgo12RNnNvySbeM z_}lARE3aj+PfV{O%gpb4b8-c~G5iYEOg;wDmm(>wYcgJ^2wGwo43yzRp(Hl!c*Dlq zTWR9(754ANzf=m=)KzDjZ59v3k8aUdH86kfbd(594bhl)TA6GQeAczhkm?t~ubu zR_~BmyYSQ1;$6D#e=~d+*WYivzOc<6PIB^KV23EPteSmTdkBxJmpe4!LbF2;JXOM_ zoKilF6Jf>H$hP81$b6|Q3c z>DFXWYc|h476nfr+4k@`yPb>jv(+QZW?+_d?{UoPvyasw{N8A9{aMBq7EYg3yudi; zkR6ZQo6pag%LLc5QtNk@Est4bC!~-#IZNTbrIB0M;uiRMc=Rft5yLa{vFAHqU zt=TCv~%HbM~I?+sA2qs^4&%(KR zCXtBW&!NBO{q=z?1P+Oq$_cxzQ3&A}hxQtumFU3(Yz5q4prrEHrvB|LrGG?!E9?oadQjxF&xE?^Gg^t;}eR&_oux~)`$~8f^ z+f?O zm9PHmzleOG&EOHJZnkxh{|Dm2R}4HDYydVGyt7ZAeWfdzL14H3dm3PD>|4U%<`|^7 zkaCE)6ZlG(9S)a-jWKm?GTw7}raeHkhG%X3NOMk(<-df0ssJGzvwQz@)@h3%7Q9%m zNncgEtc7MtKC{XASb_)e+yolN{AAEl!4HDHOpa2X z%I%o#3G0R<(XlyE6^EtydQI9&?^o<)j8x(O2H7&g|5(CC%iosDTyWwqcE)G;y`wMo znX^Nq;H~yYIm@NiX2rhhjNO^pzw@#R6Blzf%TQuv$ec-x-7}j-d$5%=>6xcr`u0p= ztM#@DGVEVGY^bDP0sjp6hr2I!Vho|idyyFqXI+MKVWL(a)-w4+JaHg2FoxBFv6$m0 zZAB33G@F4?#z_lf;_xhNU1etRZmp@-X(X#K78W6bpH_-T>whh{l;QZpUx=}UX~9BI zrF!9<8_eHFI6<_!?ChR5WNc2he!sz-=Pn*6JmJ5S@m%sge8;=6yE*yHiq|Zt^C2c= zRtYO^kbz(!`k6Cj@(|0;ADoOyW_I;ih}KNp+`GNyoA1=FW)a)>SbMi>??=Zd>|~t4 zy(0Lg1$TF{9OIF(fOmcJ<N-le8w*;Voc1$cnTm>46-|r0Q?iA@}K{N9RMNQHj~(Y_xwMv z{%_B3PqjV%|MmR#tJ~u3ftfoYeE3g VHD=4d9=6Y9aNguxk)CtJe*pTA8{_~0 literal 0 HcmV?d00001 diff --git a/public/img/screenshot.png b/public/img/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..370e6dee904cb2535739471b2acdfb2dc42ffc5c GIT binary patch literal 31928 zcmeEu`#;lf{5Nvg=Cm<~9Ji4}IhC_C%(0w?4o+c}LqZc3Wy5UFIYiEElVd3)Qi+UG zkwfI1Lvjisa+<^a_W9nA`~L0z3vQ2xhsQSCuJ^U;dR@=cYjIc`b6$uTgoTBL_pF79 zJqrsP3i!o>IDva=-1sMeKdeFa<`|aeof7lF4R&uMYaSXR+90zb4jJI$KVqp;o zKKx}J^O6o>VF|N7YhrXh#BJ#ZR|EX}kB_SdA58qp;xssf?4l6%7&~?jBUadl=t7#= zqS;jeUb*H!Pvv~BAgehv5hf<4)odtIEQ$tKykexJpeY7Jnbj|E=jR7yzg-+7X1f$D z&#Eu}SzPQ`T=eX!Ded@G;ogKEFadr9urhCiU@+Lw4E*q>>`4d;_<1PG0o(^Wn@EZU zeq_yz{`=R*h{MO??4ZCysjUi!4_RFK|4##^&^LBYL_hw^t zWz+ufxVM|#^sirocSiiZ-!8sL*!v}KP@R8wY>2r2SlYBJJ{E3eWKtwH^748bfw}am zE^PZ&uJ+A>cl$dF`{*?o8yF{}f^ITb62mZq^uWQ{~_sKN~Z`@lBKS(H0%%<+Im-ausqLa@7@CoAr zsPBE738xT z`YcbakQ0L`rjTMSG)<&aN(=6N*_3_p8(A7pn_MfPg z>MI{0xhJniS8^cxplH4`>saQL^nuU)Kd)ym60A&2*f@aEL_@0sr_A2|d9!f%R%^h! zC*N5b9-7W{5BT@{`-zL=NmY%X)8v_61*(l(jII%HDq(SFq4JfM|1kUp0cHPgZp5f4 zXQ&~xW^c3Up!WOIOS2D>=(^Eji97!mL{4j9N9=06tQWfJQPL-kYxs=Fxc5}ThSSUR zSPL&;mwe|zM$W*^KH;VFHm{cE-#H#Acn%~34CkpqDai5eb@Rzsi|?fflszv@pzJ8v zh`rb!jZCac3dxGAbT^R|JiLUmdQE9|h_4+;6@~IV3+yt8srPw3`Yo}o?n)DrA|+st zSww=QZVWuHg~^z02~vB&7fgyO{=2(g_-meSkl)Vw{6?#w?JseE8I-*Rd^g_FAVHe*%O@)-(34F5ROh!Ysef%cKI{)-(>Z|ALJ&O3ybe3MXh_S8hG^$_MoE>c-D2HH zz#Rrye(?JxcmMFM7U|vKA$laqg4p2o@P-Djv4+q_)wU-Wp6>4Yd24&3 zlXd^?v`L3A9^q-%_U-%BX>bq*OsC7sYpd1If%)vc>*ra-%XE4baJlIK7tUzBHf&%6 z8?O(%dZVY1LapDDT0mq$^&AbFqv)+<6;k^P&-PuR@a(qg*MGm9Sn@VtX7gL3>~(?p zkWF-s(jE`%1vaU{b`I1g&4$&=+T@vYZ3VEHiG|ql8

NJ^zLOO`~p2gVeeV4jSGa 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 literal 0 HcmV?d00001 diff --git a/signup.html b/signup.html new file mode 100644 index 0000000..cdbaa33 --- /dev/null +++ b/signup.html @@ -0,0 +1,60 @@ + + + + + + + + + Rutgers Esports Newsletter Signup + + + + + + + + + + + + + + + + + + +

+ +
+ + + + + + \ No newline at end of file diff --git a/styles.css b/styles.css new file mode 100644 index 0000000..9bd861a --- /dev/null +++ b/styles.css @@ -0,0 +1,50 @@ +html, +body { + height: 100%; +} + +body { + display: flex; + align-items: center; + padding-top: 40px; + padding-bottom: 40px; + background-color: #f5f5f5; +} + +.form-signin { + width: 100%; + max-width: 400px; + padding: 15px; + margin: auto; + justify-content: center; +} + +.form-signin .checkbox { + font-weight: 400; +} + +.form-signin .form-floating:focus-within { + z-index: 2; +} + +.top { + margin-bottom: -1px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +.middle { + border-radius: 0; + margin-bottom: -1px; +} + +.bottom { + border-top-left-radius: 0; + border-top-right-radius: 0; + margin-bottom: 1rem; +} + +.g-recaptcha { + display: flex; + justify-content: center; +} \ No newline at end of file diff --git a/success.html b/success.html new file mode 100644 index 0000000..bad8615 --- /dev/null +++ b/success.html @@ -0,0 +1,18 @@ + + + + + + + Success! + + + +
+
+

Awesome!

+

Thank you for signing up for our newsletter! Stay tuned for some epic gaming news from Rutgers Esports in the future!

+
+
+ + \ No newline at end of file