# Shared Cost

Share costs with a group of people:

- Share according to people income,
- Monthly payments available,
- Statistics by month,
- Weekly activity sent by email.

## Getting started

Install nix:

```
curl https://nixos.org/nix/install | sh
```

Start the environment with:

```bash
./make start
```

Init the database with migration scripts:

```bash
sqlite3 database < server/migrations/1.sql
sqlite3 database < server/migrations/2.sql
sqlite3 database < server/migrations/3.sql
```

Inside the tmux session, add some users with sqlite after the migration is done:

```
sqlite3 database
insert into user(creation, email, name, password) values (datetime('now'), 'john@mail.com', 'John', '$2y$14$1QqyMA8vknmSVBq9BcGi6upZISLwsP2aPXx5JZOMPVzaZ8gorrsq.');
insert into user(creation, email, name, password) values (datetime('now'), 'lisa@mail.com', 'Lisa', '$2y$14$1QqyMA8vknmSVBq9BcGi6upZISLwsP2aPXx5JZOMPVzaZ8gorrsq.');
```

Later, stop the environment with:

```bash
./make stop
```

## Deploy

```bash
make deploy
```

## Configuration

See [application.conf](application.conf).

## Documentation

- [reflex](https://hackage.haskell.org/package/reflex-0.6.2.4/docs/doc-index-All.html)
- [reflex-dom](https://hackage.haskell.org/package/reflex-dom-core-0.5/docs/doc-index-All.html)