A simple, fast, reactive, and easy to use retro platform. Still a work in progress!
To get the validated elixir and erlang versions using asdf:
- Install
asdfwithbrew install asdfor following the instructions- If you install with homebrew, make sure to source the shim in your shell as explained here.
- Install
asdf-erlangwithasdf plugin add erlang https://github.com/asdf-vm/asdf-erlang.git - Install
asdf-elixirwithasdf plugin-add elixir https://github.com/asdf-vm/asdf-elixir.git - Install the validated erlang and elixir versions with
asdf install(it may take a few minutes to compile erlang)
Follow your operating system's instructions to install Postgres locally. Any supported version of Postgres should suffice.
To start your Phoenix server:
- Run
mix deps.getto get dependencies - Run
mix do event_store.create, event_store.initto initialize the event store- If you get an error about a
postgresuser not existing, you can runpsql -c "create user postgres with superuser password 'postgres'"and try again
- If you get an error about a
- Run
mix setupto install and setup dependencies - Start Phoenix endpoint with
mix phx.serveror inside IEx withiex -S mix phx.server
Now you can visit localhost:4000 from your browser.
Ready to run in production? Please check our deployment guides.
- Write domain-level tests here.
- Add an implementing domain function here.
- Add an implementing command here.
- Add the command to the router here.
- Add an implementing event here.
- Implement
executeandapplyfunctions for the command and event in the aggregate. - Publish the event via
Phoenix.PubSubhere. - If it is a custom pubsub event, add a handler to it in the liveview here.
- Implement the UI using the liveview and component modules.
- If feasible, add liveview tests for the action here.
To run the full test suite on watch mode:
mix test.watch
To only rerun stale tests:
mix test.watch --stale
- Official website: https://www.phoenixframework.org/
- Guides: https://hexdocs.pm/phoenix/overview.html
- Docs: https://hexdocs.pm/phoenix
- Forum: https://elixirforum.com/c/phoenix-forum
- Source: https://github.com/phoenixframework/phoenix