This is the source code for my personal website and blog. It is built using the Phoenix Framework and Elixir. I built it mainly for learning purposes, to use as a digital playground. I use the blog to document my learning journey and to share my thoughts and ideas. Have a look around and let me know if you find any bugs or have any suggestions for improvement.
- Framework: Phoenix Framework
- Styling: Tailwind CSS and daisyUI
Install the versions of Elixir, Erlang, and Bun listed in .tool-versions
(for example, with mise install). Bun manages JavaScript dependencies and scripts;
Bun also runs the PhoenixTest.Playwright JavaScript driver.
To start your Phoenix server:
- Run
mix setupto install and setup dependencies - Start Phoenix endpoint with
mix phx.serveror inside IEx withiex -S mix phx.server
JavaScript dependencies are installed from assets/bun.lock by mix setup
and mix assets.setup. To add a dependency, run bun add <package> from assets/.
assets/bunfig.toml requires newly resolved npm package versions to be at least
three days old; packages already in the lockfile are unaffected.
Run JavaScript linting with cd assets && bun run --bun lint:standard.
Now you can visit localhost:4000 from your browser.
Run Mix checks through Bun so Playwright's node shebang resolves to Bun:
bun run --bun mix precommit
bun run --bun mix test --warnings-as-errorsInstall Chromium and run browser tests:
(cd assets && bun run --bun playwright install chromium --with-deps --only-shell)
bun run --bun mix test --warnings-as-errors --only playwrightTo retry failed browser tests with tracing:
PLAYWRIGHT_TRACE=true bun run --bun mix test --only playwright --max-cases 1 --failedThe --bun flag supplies a temporary node shim for child processes; a separate
Node.js installation is not required. Use this prefix for tests and mix precommit,
which starts the Playwright supervisor even when browser tests are excluded.
Ready to run in production? Please check our deployment guides.
- Official website: https://www.phoenixframework.org/
- Guides: https://hexdocs.pm/phoenix/overview.html
- Docs: https://hexdocs.pm/phoenix
- Forum: https://elixirforum.com/c/phoenix-forum
- Source: https://github.com/phoenixframework/phoenix
