-
Install Nix if not on NixOs:
curl https://nixos.org/nix/install | sh
-
Clone project and
cd
into it -
git clone https://github.com/NixOS/nixpkgs.git ~/clones/nixpkgs
-
Issue
nix-shell
Read
shell.nix
and/or theshell.nixes
README to see whatnix-shell
will do. -
Start Phoenix endpoint with
mix phx.server
oriex -S mix phx.server
- Install dependencies with
mix deps.get
- Create and migrate your database with
mix ecto.setup
- Install Node.js dependencies with
cd assets && npm install
- Start Phoenix endpoint with
mix phx.server
Now you can visit localhost:4000
from your browser.
For example, if a user is deleted, there will
be many dangling pointers; one example is an
Assessment
where AssessmentEvent
holds logs on
who created it, how user assigments changed and so
on. Assessments mustn't be deleted when a user is
gone (e.g., :on_delete
).
Couple possibilities:
-
make it impossible to update/delete data from API and front-ends (should probably use it in conjunction with the previous option)
-
use Event Sourcing (with CQRS probably?)