To start your Phoenix server:
- Run setup script
script/setup.sh
- Start Phoenix endpoint with
script/server.sh
Now you can visit localhost:4000
from your browser.
Binaries in the scripts
directory follow https://github.com/github/scripts-to-rule-them-all
script/bootstrap.sh
fulfills dependencies of the projectscript/setup.sh
sets up project to initial state, should be used right after cloningscript/update.sh
is used to update the project after a fresh pullscript/server.sh
is used to start the application
NOTE: Not sure I like that starting the server goes through all the bootstrapping/updating as well. Sure it's "safe" but it's also slow.
mix test
Radiator Core contains business logic exposed via REST/HAL API
I am still unsure how to handle Contexts. It works to just throw the whole app in a single context but we will likely become too complex for this approach. We can likely fragment too much with too many contexts as well--but that's only an assumption. Maybe splitting up a lot is great.
- Podcasts: Show, Episode
- Account: User
- Media: Anything to do with files and downloads/delivery like File, FileType
- CMS: Author, Capability/Permission
- Transcripts: TranscriptLine
- Chapters: ChapterMark
It might be useful to separate User from Author (the user entity that's managing content). In the Account/User Context, handle only registration/login flow. The Author handles CMS stuff like permissions/capabilities.