Skip to content

Code Wiki

Guryash edited this page Jun 14, 2024 · 9 revisions

Documentation for all code

This page contains an explanation for, and information about, all the code within the repo

High-Level Design Decisions

  • We are using Postgres as it allows us to use pessimistic locking for ticket bookings (to make sure we don't end up selling two tickets when only one is available)
  • Express and Node for backed
  • TailwindCSS and DaisyUI for frontend design
  • Clerk for authentication
  • Typescript for type security

Code Explained

Our project is split into four folders

  • Database: Docker image for running the Postgres database
  • API: Backend
  • Web: Frontend
  • Strapi: Content Management System (CMS)

Database

  • README.md: instructions for running database
  • fly.toml: Used for hosting on our WDCC Fly server
  • docker-compose.yml: File that is used to create a docker container

Strapi

  • config folder:
    • admin.js: config file
    • api.js: config file
    • database.js: config file
    • middleware.js: config file
    • plugins.js: config file (GraphQL added)
    • server.js: config file
  • database
    • migrations: This is where the migrated database information is stored
  • public: this is where uploaded content is saved (robot.txt file can be ignored)
  • src: this is where scemas for content being stored is saved, this can be ingored as it is auto generated
  • types
    • generated: config files
  • README.md: information on how to run Strapi locally Rest of the files are either for staging, or config

API

  • TODO (WIP and things are changing a lot)

Web

  • TODO (WIP and things are changing a lot)
Clone this wiki locally