DEVELOPMENT IS IN PROGRESS. If you have ideas, suggestions, questions, please join #lyn slack channel in Elixir's slack (read about chat below)
This is an Elixir CMS. Aims to be the great open-source ecommerce and/or startup solution for those who are searching for a performance and stability on top of modern technologies like React and Elixir.
In order to run, Lyn requires Elixir 1.2 or higher, PostgreSQL 9.4 or higher and NodeJS 4 or higher.
Please check ROADMAP on progress.
Lyn is a CMS written in Elixir. It combines CRUD and Object Tree models, which means that all of the site structure in kept in single tree of objects and provides Flux-like API backend, while you still can use CRUD for building REST-API for admin panels or providing ability of editing stuff easily in the front-end.
Elixir is chosen as the back-end language because of speed and hot-load. I strongly believe Elixir is the future of CMS building.
Before you begin we recommend you read about the basic building blocks that assemble a Lyn application:
mix deps.get
mix ecto.create && mix ecto.migrate
npm install
The last step might take a very long time since we are using some dependencies from github (like Bootstrap 4).
You can create #{ENV}.config.exs
files in config/
directories, they will be
included after running initial config files: config.exs
and #{ENV}.config.exs
.
Start Phoenix endpoint with mix phoenix.server
Now you can visit localhost:4000
from your browser.
Notice currently I didn't include scripts to install starter database, but make sure you at least created some languages in admin panel (/admin/languages) before working with objects tree. Installation scripts coming soon once object tree will be ready.
Ready to run in production? Please check Phoenix Framework deployment guides.
Use scripts/generate-ssl-certs.sh
to generate self-signed certificate if you need to.
In config/prod.exs
you will find an example with :https
directive, uncomment it
and put there paths to your certificates as well as intermediate certificate if you
have one.
This project moves fast and has an active community, so if you have a question that is not answered below please visit #lyn channel on Elixir-lang Slack or file an issue.
I am more than happy to accept external contributions to the project in the form of feedback, bug reports and even better - pull requests.
If you would like to submit a pull request, please make an effort to follow the guide in CONTRIBUTING.md.
Main author and active maintainer is Valerii Iatsko, feel free to follow:
Based on some code from these projects: