# Toy This project is intended to be a (serious) playground for other Elixir projects of mine in the aspects of build, integration and deployment. ## Goals * [] Document build * [] Implement and document cross-build * [] Install the project as a systemd service * [] Handle the current version via a git tag * [] Build as `dev` or `prod` ## Preconditions ### PostgreSQL role In `dev` as well as in `prod` modes, the role used in `config/#{mode}.exs` must be created using e.g. the command line : `sudo -u postgres createuser -P role_name` (add `-d` flag to allow database creation) ### PostgreSQL database In `dev` as well as in `prod` modes, the role used in `config/#{mode}.exs` must be created using e.g. the command line : `sudo -u postgres createdb -O role_name db_name` ## Running the server ### In development mode The PostgreSQL role/database must be installed, if required. To start the server in dev mode : * Install dependencies with `mix deps.get` * Install Node.js dependencies with `mix cmd npm install --prefix assets` * Start the server : `mix phx.server` or `iex -S mix phx.server` to run within a shell The server can now be accessed on [`localhost:4000`](http://localhost:4000).