Project Specification · Project 01 · Weight 25%
Put Something Real on the Internet
Make one web page about anything you like. Put it in a bucket. Flip one switch. Send me the URL. That is the entire project — about 30 minutes, start to finish.
01The Mission
Notes 04 called object storage a coat check: hand in a coat, get a ticket, and from then on the ticket is the only way to get the coat back. So far that has been a story on a page. This week you check in your first real coat — and the ticket you get back is a URL that works for everyone on Earth.
There is a before and an after in this course: before, the cloud was slides; after, you have a URL. This project is the line between them.
The page itself can be about anything you like — your dog, your favorite album, a collection of jokes you stand behind, a ranking of campus vending machines. Keep it class-appropriate; everything else is fair game. Write the HTML by hand, however scrappy. Scrappy is charming. A template dump is not.
02The Four Steps
- Make one HTML page. One file, written by you, about something you actually care about. CSS and pictures welcome, not required. If you have never written HTML: open a text editor, type
<h1>hello</h1>, save it asindex.html, open it in a browser. You now write HTML. - Put it in a bucket on the provider account you made in Week 1 — Amazon S3, Google Cloud Storage, or Azure Blob Storage. Make a bucket, upload the file. That is the coat going over the counter.
- Flip the public switch. Buckets are born private; one setting makes your page visible to the world. Find yours in Table 2 below.
- Open the URL in an incognito window. If it loads there, it loads for me and for everyone. Copy that URL — it is your deliverable.
| Provider | Where the switch lives |
|---|---|
| Amazon S3 | Bucket → Properties tab → Static website hosting → Enable, index document index.html. S3 will also make you turn off Block all public access (Permissions tab) and paste the one-paragraph public-read bucket policy the docs hand you — that is S3 being careful, not you doing something wrong. |
| Google Cloud Storage | Bucket → Permissions tab → Grant access → principal allUsers, role Storage Object Viewer. (Optional: the bucket's Edit website configuration sets index.html as the main page.) |
| Azure Blob Storage | Storage account → Static website (under Data management) → Enabled, index document index.html. Azure creates a $web container for you — upload your file there and it hands you the web address. |
That's it. No DNS. No TLS certificate. No custom domain. The long, ugly bucket URL is fine — in fact it is expected. Pretty names are Week 5 material.
No. This is deep free-tier territory — a 50 KB page served a few hundred times costs effectively nothing on any of the three providers. But keep your budget alert on, as always. That habit is the course.
03Hand In
Exactly two things:
- The live URL of your page, pasted as text.
- One screenshot of your bucket's console page showing your file sitting in it.
Explicitly not required: no report, no diagram, no cost estimate, no Git repository. (If you're proud of your page, attach the .html file too — I'd love to see it — but it earns no points.)
04Grading — Five Checkboxes
100 points, five boxes, 20 each. I grade straight off this list, fast.
- 20
- 20
- 20
- 20
- 20
05FAQ
- Can I use CSS? Pictures?
- Yes — just upload more files into the same bucket next to your page and link to them. More coats, same coat room.
- My URL is long and ugly.
- That's authentic. A raw bucket URL is proof you did the real thing. Pretty names (DNS, custom domains) are Week 5 material and not required here.
- My bucket is private but the one file is public — is that okay?
- Either shape is fine. The only test that matters: does the URL open in an incognito window? If yes, you're done.