d72e20b067 | ||
---|---|---|
.vscode | ||
bin | ||
database | ||
public | ||
routes | ||
views | ||
.env.example | ||
.gitignore | ||
.gitlab-ci.yml | ||
.gitpod.yml | ||
.node-version | ||
Dockerfile | ||
README.md | ||
app.js | ||
package-lock.json | ||
package.json |
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 toproduction
,testing
, ordevelopment
PGHOST
- set to your database URLPGPORT
- set to the database portPGDATABASE
- set to the name of your database (i.e.scoretrackerdb
)PGUSER
- set to the user for managing the databasePGPASSWORD
- 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 alayout
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.