No description
Find a file
William Carroll fdd51f626c Fully support login, logout
Refactor my handlers to use the `Handler a` type instead of `IO a`; this allows
me to throwError inside of handlers that Servant properly handles. Previously I
was creating 500 errors unnecessarily.
2020-07-29 20:26:23 +01:00
client Add boilerplate for Google sign-in 2020-07-29 10:13:19 +01:00
data Check passwords in /login 2020-07-28 18:48:38 +01:00
src Fully support login, logout 2020-07-29 20:26:23 +01:00
tests Check passwords in /login 2020-07-28 18:48:38 +01:00
.gitignore Create populate.sqlite3 to simplify README 2020-07-28 18:47:40 +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 Create Sessions table 2020-07-28 18:40:17 +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;