high school senior project archive
This repository has been archived on 2024-04-05. You can view files and clone it, but cannot push or open issues/pull-requests.
 
 
 
 
 
Go to file
sudoer777 8bf2b8a275 Add migration to add full_name column to accounts table 2021-12-01 11:13:37 -07:00
.vscode
bin
database Add migration to add full_name column to accounts table 2021-12-01 11:13:37 -07:00
mail
public Change edit button from "E" to "✎" 2021-11-26 23:47:25 -07:00
routes Create about page 2021-11-26 23:14:29 -07:00
views Create about page 2021-11-26 23:14:29 -07:00
.env.example
.gitignore
.gitlab-ci.yml
.gitpod.yml
.node-version
Dockerfile
README.md Update README.md 2021-11-27 08:19:04 +00:00
app.js Create about page 2021-11-26 23:14:29 -07:00
package-lock.json Update version to 1.0.3-pre 2021-11-26 23:50:35 -07:00
package.json Update version to 1.0.3-pre 2021-11-26 23:50:35 -07:00

README.md

Score Tracker

Main repository: https://gitlab.sudoer.ch/sudoer777/score-tracker/

A web app designed to collect and display scores for sports

Branches

  • main - Stable, production-ready code
  • testing - Nearly complete code being tested
  • develop - Unstable code under development

Installation

This repository is designed to be pushed to Heroku/Dokku/etc.

Requirements

  • PostgreSQL (with empty database created and an account to access it)

Environment Variables

  • NODE_ENV - set to production, testing, or development
  • PGHOST - set to your database URL
  • PGPORT - set to the database port
  • PGDATABASE - set to the name of your database (i.e. scoretrackerdb)
  • PGUSER - set to the user for managing the database
  • PGPASSWORD - set to the password for that user

Code

This program uses Node.js/Express.js for the backend, PostgreSQL for the database (with node-postgres), and Passport.js for managing users and sessions.

Structure

  • database folder contains backend scripts for managing and storing data.
  • mail folder (currenly unused) contains backend scripts for sending emails.
  • public folder contains publically accessible scripts and stylesheets for frontend.
    • scripts folder contains scripts used by specific webpages.
    • stylesheets folder contains CSS for various webpages.
  • routes folder contains various routes used by the program.
    • about.js directs to the about page (/about).
    • auth.js deals with logging in and out (/auth/*).
    • checkLoginStatus.js contains functions for checking the login status of the current user.
    • data.js sends various data to the client in JSON format (/data/*).
    • index.js directs to the home page (/).
    • manage.js contains various functions that allows the user to add and edit items through the web browser (/manage/*).
  • views folder contains pug templates for each webpage, and a layout template for the base layout of each page.
  • .env.example is a template for the environment variables in a development workspace. Rename to .env and change values as needed.