LiveDeck
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.
Getting Started
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.
Contributing
CI
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)
Local Development
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
Deck Configuration
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.
Deck Themes
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.
Deck Templates
LiveDeck includes many different slide layouts we call slide templates. View all the deck templates here.
Deck Remote and Presenter Mode
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.
More Info
- 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/
License
See the LICENSE file for license rights and limitations (MIT).