recode-fa23

Normal Business Hours

Upload the link to your repo to this Google form before the due date.

Times Square, Manhattan, NY

A server that questions the idea of a 24/7/365 internet, where the boundaries between our work, social, and personal lives are non-existent and devices become always-on portals between these worlds.

But now, you control the flow of information from the start - a server that gives your resume only during normal business hours.

Preliminary questions to answer

We should begin by deciding what’s most important, what is of the most value. So not considering work, write a bit about the things you value and why and how you would like to invest your time in these things. They could fall into a number of the following categories below, and beyond, but be specific:

Next, with these values at the forefront of your heart and mind, you can hone in on a few more important questions..

Then we can get more practical and decide what your normal business hours should be.

Once you have answered these questions, you are ready to proceed.

Programming the server

Forking a repo

The boilerplate code for the normal business hours server can be found HERE. It is recommended to FORK this repository so that you can push your changes to your own Github account later. Directions to FORK a repo are HERE.

Up and running locally

Once forked and running locally, program the server to only serve your resume during your normal business hours. If outside these hours, please craft a denied.html file that will be served to prospective employers. You can consider this file as an opportunity for creativity to make an impression or a plain and simple boundary that provides cursory information on when they can return to see the information they seek. At the very least, the file should be well-designed and simple - so some HTML/CSS styling will be required.

Deploy to droplet

Once the code is functioning properly on your local machine, you’ll need to do the following to your droplet:

First, log in to your Digital Ocean account on the website. You will need to make sure your droplet has a static or “Reserved” IP address (the terms “static” and “reserved” are interchangeable). This is so we can visit the site reliably on the web. Instructions to set this up are here.

Once this is complete, from in your droplet terminal, do the following:

  1. Upload your working code using git clone
    • Refresher instructions are here from the notify assignment, starting with “Cloning a github repository”. You can ignore the .env stuff as it is not required for this.
  2. Allow port 3000 using ufw allow 3000
    • This will open port 3000 on your droplet to receive web traffic
  3. Run your server from within your repo with pm2 start app.js
  4. Check pm2 for errors pm2 monit
  5. Visit your server at your static IP like http://XX.XX.XX.XX:3000 where XX.XX.XX.XX is your static IP address.

Submitting your work

You will submit your final Github repo which should have a README. There should be 3 things in the README:

  1. A link to your server that is currently running on Digital Ocean. It should look like this http://XXX.XX.XX.XX:3000/ where you have replaced XXX.XX.XX.XX with your static IP address.
  2. A section with answers to the prompts above about your values and how you chose your working hours. This should be anywhere from 250-500 words.
  3. Documentation of your coding process, inspirations, errors, and found code.

Upload the link to your repo to this Google form before the due date.


Want more of a challenge?