From 4dd3ada4e30572a33adb96acf9c75158b2c10836 Mon Sep 17 00:00:00 2001 From: Mike Johnston Date: Fri, 20 Mar 2026 21:06:29 -0400 Subject: [PATCH] feat: add about page and link to it from home page --- src/app.js | 5 +++ src/views/about.ejs | 83 +++++++++++++++++++++++++++++++++++++++++++++ src/views/home.ejs | 1 + 3 files changed, 89 insertions(+) create mode 100644 src/views/about.ejs diff --git a/src/app.js b/src/app.js index 3760621..3c186c8 100644 --- a/src/app.js +++ b/src/app.js @@ -126,6 +126,11 @@ async function start() { res.render('scanner', { title: 'QR Scanner' }); }); + // About page + app.get('/about', (req, res) => { + res.render('about', { title: 'About Loot Hunt' }); + }); + // Home page app.get('/', (req, res) => { const { Hunts, Scans } = require('./models'); diff --git a/src/views/about.ejs b/src/views/about.ejs new file mode 100644 index 0000000..26bed2c --- /dev/null +++ b/src/views/about.ejs @@ -0,0 +1,83 @@ +<%- include('partials/header') %> + +
+

About Loot Hunt

+ +
+

What is Loot Hunt?

+

Loot Hunt is a digital treasure hunt game. Organizers hide QR codes in the real world and players scan them to earn points. Think geocaching, but entirely digital — no swapping trinkets, just bragging rights and leaderboard glory.

+

Each QR code is called a package, and packages are grouped into hunts. A hunt might be a set of codes hidden around a neighborhood, an event venue, a campus — anywhere, really.

+
+ +
+

Scoring

+

Points are awarded based on how early you find a package:

+
+
+
500
+
1st Find
+
+
+
250
+
2nd Find
+
+
+
100
+
3rd Find
+
+
+
50
+
4th+ Finds
+
+
+

Being first matters! Race to discover new packages before anyone else to maximize your score.

+
+ +
+

How to Play

+
    +
  1. Create an account — pick a username and you're in.
  2. +
  3. Find a QR code — look for Loot Hunt stickers, cards, or signs in the wild.
  4. +
  5. Scan it — use our built-in QR scanner or any camera app. The built-in scanner verifies the code is a legit Loot Hunt link.
  6. +
  7. Claim your points — log in (or sign up) and the points are yours.
  8. +
  9. Climb the leaderboard — check the global leaderboard or per-hunt rankings.
  10. +
+
+ +
+

Features & Quirks

+
    +
  • First finder photo — the first person to scan a package can upload a photo as proof of discovery. Show off where you found it!
  • +
  • Hints — the most recent scanner can leave a hint for future hunters. Be helpful, be cryptic, or be funny — your call.
  • +
  • Display names — set a display name on your profile that's different from your login username. Express yourself.
  • +
  • Hunt scheduling — hunts can have start dates. Some are hidden until they begin — keep checking back!
  • +
  • Safe scanning — the built-in QR scanner checks that codes link to this site before opening them, protecting you from shady QR codes in the wild.
  • +
  • Each package can only be scanned once per player — no farming the same code for infinite points.
  • +
  • Dark mode — toggle it in the header. Your eyes will thank you.
  • +
+
+ +
+

For Organizers

+

Want to create your own hunt? Ask an admin to grant you the Organizer role. Once you have it, you can:

+
    +
  • Create hunts with any number of packages
  • +
  • Set expiry dates and start dates
  • +
  • Hide hunts until they start
  • +
  • Download printable PDF cards with QR codes (Avery 5371 format, 10 per page)
  • +
  • Monitor scan activity and leaderboards for your hunts
  • +
+
+ +
+

Get in Touch

+

Have questions, ideas, or found a bug? Reach out!

+
+ 🐘 Mastodon + 📦 Source Code +
+

Loot Hunt is open source. Contributions, bug reports, and forks are welcome!

+
+
+ +<%- include('partials/footer') %> diff --git a/src/views/home.ejs b/src/views/home.ejs index 4713d07..0da3d35 100644 --- a/src/views/home.ejs +++ b/src/views/home.ejs @@ -7,6 +7,7 @@
Browse Hunts Leaderboard + Learn More <% if (!currentUser) { %> Login <% } %>