LiveDeck is an interactive presentation deck built with Elixir, Phoenix, and LiveView. The web-based slide deck features provide the ability to display real-time data and for engaging audience interactions. The deck comes with several themes and slides templates to create beautiful presentations out of the box.
Run asdf install
to pull in Erlang, Elixir, and Node versions.
To start your Phoenix server:
- Install dependencies with
mix deps.get
- Create and migrate your database with
mix ecto.setup
- Install Node.js dependencies with
npm --prefix=assets install
(append--force phoenix_live_view
to update the NPM Live View dependency if there has been an update to the phoenix_live_view mix dep since your last run of the project) - Start Phoenix endpoint with
mix phx.server
Now you can visit localhost:4000
from your browser.
CI will run the following commands on the codebase:
mix credo
mix format --check-formatted
mix coveralls --trace
(tests + test coverage)mix dialyzer
(static type analysis)
Run mix check
to check code quality.
It checks compiler, credo, dialyzer, ex_doc, ex_unit, formatter, npm_test and sobelow by default. excoveralls
is added to config file. To skip any check add {:toolname, false},
in the tools array of .check.exs
file. To add custom command on a tool add {:toolname, command: "mix command"}
in the tools array of .check.exs
file.
For more info visit: https://github.com/karolsluszniak/ex_check https://hexdocs.pm/ex_check/0.9.0/Mix.Tasks.Check.html#content
The deck theme, slide order, slide backgrounds, and slide notes can be configured in the lib/live_deck/presentations/config.ex file. Read more about the the configuration settings here.
LiveDeck includes beautiful themes that change the colors and typeography of the whole deck. Themes also include several background options for slides. View all the deck themes here.
LiveDeck includes many different slide layouts we call slide templates. View all the deck templates here.
Your presentation can be controlled through a seperate webpage we call the remote. The remote adapts to presenter mode when viewed on a desktop or laptop. Learn more about the deck remote here.
- Phoenix Docs: https://hexdocs.pm/phoenix
- Phoenix LiveView Docs: https://hexdocs.pm/phoenix_live_view/Phoenix.LiveView.html
- Elixir Docs: https://hexdocs.pm/elixir/Enum.html
- Ecto Docs: https://hexdocs.pm/ecto/Ecto.html
- Ecto SQL Docs: https://hexdocs.pm/ecto_sql/Ecto.Adapters.SQL.html#content
- Erlang Docs: https://erlang.org/doc/search/
See the LICENSE file for license rights and limitations (MIT).