An open API service indexing awesome lists of open source software.

https://github.com/ashton314/program_builder

Program/agenda creator for Sacrament meetings in the Church of Jesus Christ of Latter-day Saints
https://github.com/ashton314/program_builder

elixir phoenix-framework phoenix-live-view

Last synced: 9 months ago
JSON representation

Program/agenda creator for Sacrament meetings in the Church of Jesus Christ of Latter-day Saints

Awesome Lists containing this project

README

          

* Program Builder

Build meeting agendas for Sacrament meetings in the Church of Jesus Christ of Latter-day Saints.

This project uses [[https://github.com/phoenixframework/phoenix_live_view][Phoenix LiveView]] which is currently still in alpha. Use at your own risk. :)

** Getting Started

Download dependencies with =mix deps.get=.

To start a dev database, run =mix docker.db start=.

Setup database with =mix ecto.create && mix ecto.migrate=.

Start up server with =mix phx.server=.

** Outstanding Tasks

*** DONE Add new models [2/2]

- [X] Create a =members= model
- [X] Add an =event= model, along with sub-models like =music=, =talk=, =generic=, and =note=

*** DONE Modify =meeting= model [2/2]

- [X] Add an =events= attribute: an array of =Event= id's
Consider just blowing it all away/trying to overwrite. Original command was:

mix phx.gen.html Program Meeting meetings date:date presiding:string conducting:string visiting:string invocation:references:members benediction:references:members accompanist:string chorister:string opening_hymn:integer sacrament_hymn:integer closing_hymn:integer

Modified command:

mix phx.gen.html Program Meeting meetings date:date presiding:string conducting:string visiting:string invocation:references:members benediction:references:members accompanist:string chorister:string opening_hymn:integer sacrament_hymn:integer closing_hymn:integer topic:string events:array:integer

- [X] Add a =topic= attribute
*** TODO Consider baby blessings
I think I might have to rip out the :sacrament_hymn bit of the meeting and push that into the events. It'll have to be a default.
*** TODO Mount docker volume to persist database
*** TODO Get rendering/exporting to work
*** TODO Editing/Creating meeting should both use LiveView form
*** TODO Make meeting view look better
*** TODO Link talks/prayers with member list
*** TODO Add member list management

** Author

Ashton Wiersdorf