No description
Find a file
William Carroll e9e84f6a08 Support POST /accept-invitation
Allow users to accept invitations that we email to them.

TL;DR:
- I learned how to write FromHttpApiData instances, which allows me to
  parse/validate data at the edges of my application; this substantially cleans
  up my Handler code.
2020-08-02 16:30:28 +01:00
client Support CRUDing records on Admin page 2020-08-02 15:15:01 +01:00
data Verify users' email addresses when they attempt to sign-up 2020-07-30 18:38:46 +01:00
src Support POST /accept-invitation 2020-08-02 16:30:28 +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 Configure non-simple CORS server-side 2020-07-31 18:31:52 +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;