- App:
streamshore - Stack: Elixir, Phoenix, Ecto, MySQL
- Main source roots:
lib/,config/,priv/,test/ - Release assets:
rel/ - CI config:
.circleci/config.yml
- Required in non-test runtime environments:
YOUTUBE_KEY
- Defaulted in
config/runtime.exsif not provided:DATABASE_URLDATABASE_POOL_SIZEHOSTPORTFRONTEND_BASE_URLSECRET_KEY_BASEGUARDIAN_SECRET
- Optional / feature-specific:
PHX_SERVERCHECK_ORIGINUSE_HTTPSHTTPS_PORTSSL_KEYFILE_PATHSSL_CERTFILE_PATHEMAIL_KEYandEMAIL_ADDRESS
- Install deps:
mix deps.get - Compile:
mix compile - Create, migrate, and seed DB:
mix ecto.setup - Start server:
mix phx.server - Run tests:
mix test - Format:
mix format mixcommands need to be run outside sandbox.- If
YOUTUBE_KEYis not set, runtime config will raise during boot outsideMIX_ENV=test.
- Development and test use MySQL.
- Default local database URL is
ecto://root:password@localhost/streamshore. - Test automatically appends
_test, so test expectsstreamshore_test. - README and CI both assume root password
password.
- Environment setup issues can be highly machine-specific. Keep this file focused on repo behavior and committed expectations, not one developer's shell configuration, installed tool paths, or local ownership fixes.
- If Git reports
detected dubious ownership, PowerShell blocks script execution, or Erlang networking behaves differently under a sandbox, treat those as environment concerns unless reproduced outside the local tooling layer.