Skip to content

cs-soc-tudublin/BitHunt

Repository files navigation

BitHunt

BitHunt is a SvelteKit and PostgreSQL based web app that allows Societies to create treasure hunts for their members to complete. Each treasure hunt consists of multiple stages, each stage has a puzzle that the players must solve to get the clue to the next stage. Stages are found by scanning QR Codes, which are generated for each stage.

It was originally developed for CS++'s Freshers Treasure Hunt 2023.

Features

  • Player registration (by StudentID)
  • Leaderboard
  • Modular Stages
  • Modular Puzzles
  • Full Admin Suite
  • QR Code Generation
  • Overall Game Stats

Installation

Prerequisites

  • Node.js
  • NPM
  • PostgreSQL

Steps

  1. Create a new PostgreSQL database.
CREATE DATABASE [name];
  1. Clone the repository.
git clone https://github.com/cs-soc-tudublin/BitHunt.git
  1. Install the dependencies.
npm install
  1. Create a .env file in the root directory of the project and add the following environment variables.
DATABASE_URL=postgres://[username]:[password]@[database URL]:[port]/[name]
ADMIN_PASSWORD=[password]
  1. Start the server.
npm run dev
  1. Navigate to '[URL]:5173/admin' and log in with the password you set in the .env file.

  2. Ensure the toast at the top of the page says 'Database Repaired!'

  3. You're good to go!

Documentation

The documentation for BitHunt can be found in the docs directory.