No description
Find a file
William Carroll 7d64011cbd Protect GET /trips with a session cookie
When an admin requests /trips, they see all of the trips in the Trips
table. When a user requests /trips, they see only their trips.
2020-07-31 10:55:10 +01:00
client Add boilerplate for Google sign-in 2020-07-29 10:13:19 +01:00
data Verify users' email addresses when they attempt to sign-up 2020-07-30 18:38:46 +01:00
src Protect GET /trips with a session cookie 2020-07-31 10:55:10 +01:00
tests Check passwords in /login 2020-07-28 18:48:38 +01:00
.gitignore Read env variables using envy library 2020-07-30 13:58:50 +01:00
populate.sqlite3 Create populate.sqlite3 to simplify README 2020-07-28 18:47:40 +01:00
README.md Create populate.sqlite3 to simplify README 2020-07-28 18:47:40 +01:00
shell.nix Add Haskell client library for MailGun 2020-07-30 17:07:49 +01:00
todo.org Create todo.org 2020-07-24 18:58:04 +01:00

TopTal take-home #2

All of the commands defined herein should be run from the top-level directory of this repository (i.e. the directory in which this file exists).

Server

To create the environment that contains all of this application's dependencies, run:

$ nix-shell

To run the server interactively, run:

$ cd src/
$ ghci

Now compile and load the server with:

Prelude> :l Main.hs
*Main> main

Database

Create a new database named db.sqlite3 with:

$ sqlite3 db.sqlite3

Populate the database with:

sqlite3> .read populate.sqlite3

You can verify that everything is setup with:

sqlite3> .tables
sqlite3> .schema
sqlite3> SELECT * FROM Accounts;
sqlite3> SELECT * FROM Trips;