No description
Find a file
William Carroll fe609bbe58 Support CRUDing records on Admin page
TL;DR:
- Prefer the more precise verbiage, "Accounts", to "Users"
- Add username field to Trip instead of relying on session.username
- Ensure that decodeRole can JD.fail for invalid inputs
2020-08-02 15:15:01 +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 Allow managers to CRUD all account types (not just admins) 2020-08-02 14:31:00 +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;