Written by Sara Mills and Brandon Leek
https://intense-stream-48886.herokuapp.com/
https://spaced-repetition-sb.now.sh/
https://github.com/thinkful-ei-macaw/spaced-repetition-client-Brandon-Sara
https://github.com/thinkful-ei-macaw/spaced-repetition-api-Brandon-Sara
This is an app to start learning Spanish using the spaced repetition technique.
POST /api/auth/token: login route, expects "username": string "password": string returns auth token
POST /api/user register route, expects "name": string "username": string "password": string adds new user to database
GET /api/language retrieves user name, language, and words to practice
GET /api/language/head retrieves the first word to practice
POST /api/language/guess expects "guess": string checks if word is correct and returns the result as well as the next word to be practiced
Languages/Frameworks: Javascript, Node, Express, PSQL, Knex
Middleware: Cors, Helmet, Morgan, JWT
Testing: Mocha, Chai, Supertest
If using user dunder_mifflin
:
mv example.env .env
createdb -U dunder_mifflin spaced-repetition
createdb -U dunder_mifflin spaced-repetition-test
to seed tables: psql -U dunder_mifflin -d spaced-repetition -f ./seeds/seed.tables.sql
If your dunder_mifflin
user has a password be sure to set it in .env
for all appropriate fields. Or if using a different user, update appropriately.
npm install
npm run migrate
env MIGRATION_DATABASE_NAME=spaced-repetition-test npm run migrate
And npm test
should work at this point
For tests involving time to run properly, configure your Postgres database to run in the UTC timezone.
- Locate the
postgresql.conf
file for your Postgres installation.- E.g. for an OS X, Homebrew install:
/usr/local/var/postgres/postgresql.conf
- E.g. on Windows, maybe:
C:\Program Files\PostgreSQL\11.2\data\postgresql.conf
- E.g on Ubuntu 18.04 probably: '/etc/postgresql/10/main/postgresql.conf'
- E.g. for an OS X, Homebrew install:
- Find the
timezone
line and set it toUTC
:
# - Locale and Formatting -
datestyle = 'iso, mdy'
#intervalstyle = 'postgres'
timezone = 'UTC'
#timezone_abbreviations = 'Default' # Select the set of available time zone
Start the application npm start
Start nodemon for the application npm run dev
Run the tests mode npm test
Run the migrations up npm run migrate
Run the migrations down npm run migrate -- 0