Skip to content
This repository has been archived by the owner on Jan 6, 2021. It is now read-only.

dormroomfund/magic-wand

Repository files navigation

magic-wand

pipeline automation for Dorm Room Fund

Setup and Running

Make sure you have Postgres installed already as well as necessary API keys included in config/local.json. To install:

$ make install
$ createdb magic_wand
$ createdb magic_wand_test
$ make migrate

To run:

$ make

To test (using Jest):

$ make jest

To test (using Cypress):

$ make cypress-run

For a full list of commands, consult the Makefile.

Errors

If you installed Postgres via Homebrew, you may get the error psql: FATAL: role “postgres” does not exist. To resolve, run /usr/local/opt/postgresql/bin/createuser -s postgres.

If you are using the latest version of node/npm, you may have linking errors with node-sass. This can be resolved by using a node version manager such as n and downgrading (e.g. to 11.0.0).

Scaffolding

Use the feathers scaffolding tool to generate code:

$ npm install -g @feathersjs/cli          # Install Feathers CLI

$ feathers generate service               # Generate a new Service
$ feathers generate hook                  # Generate a new Hook
$ feathers help                           # Show all commands

Components

Database

We use objection.js as our ORM, which builds on knex.js. Migrations are handled by knex.js as a result.

Objection.js Guide
Knex.js Guide
Knex.js Migrations Guide

Typechecking and Validation

We use tcomb to check types where useful.