/beacon

Open-source content management system (CMS) built with Phoenix LiveView. Faster render times to boost SEO performance, even for the most content-heavy pages.

Primary LanguageElixirMIT LicenseMIT

Beacon

Performance without compromising productivity.

Beacon is a content management system (CMS) built with Phoenix LiveView. It brings the rendering speed benefits of Phoenix to even the most content-heavy pages with faster render times to boost SEO performance.

Guides

Check out the guides to get started and recipes to learn about features and do more with your sites.

If you're new to Beacon you probably want to start with the create your first site guide.

Demo

A sample application running latest Beacon is available at https://github.com/BeaconCMS/beacon_demo

Status

Pre-release version. You can expect incomplete features and breaking changes before a stable v0.1.0 is released.

Main components:

Contributing

Check out the CONTRIBUTING.md doc for overall guidelines to contribute to this project, then follow the Local Development steps to run a local project or watch the video below to understand more about Beacon internals:

YouTube card - ElixirConf 2023 - Leandro Pereira - Beacon: The next generation of CMS in Phoenix LiveView

Local Development

The file dev.exs is a self-contained Phoenix application running Beacon with sample data and code reloading enabled. Follow these steps to get a site up and running:

  1. Install dependencies, build assets, and run database setup:
mix setup
  1. Execute the dev script:
iex --sname core@localhost -S mix dev

Note that running a named node isn't required unless you're running Beacon LiveAdmin for local development as well.

Finally, visit any of the routes defined in dev.exs, eg: http://localhost:4001/dev or http://localhost:4001/dev/sample

Looking for help with your Elixir project?

DockYard logo

At DockYard we are ready to help you build your next Elixir project. We have a unique expertise in Elixir and Phoenix development that is unmatched and we love to write about Elixir.

Have a project in mind? Get in touch!