Skip to content
Lyn: The Elixir CMS
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github
config
docs
lib feat(engine): docmodule++ Mar 5, 2016
priv feat(features): initial Mar 5, 2016
scripts
test Cleanup tests a little Mar 5, 2016
web feat(admin): fix crud for resources other than objects Mar 5, 2016
.babelrc
.buildpacks
.editorconfig
.eslintignore Migrated to webpack Feb 26, 2016
.eslintrc
.gitignore Unignore mix.lock Mar 5, 2016
.iex.exs
.travis.yml
CODE_OF_CONDUCT.md docs(code_of_conduct): add Feb 28, 2016
CONTRIBUTING.md docs(contributing): added CONTRIBUTING.md Feb 26, 2016
LICENSE.md
Procfile
README.md docs(readme): removed screenshots Mar 5, 2016
ROADMAP.md
browserslist
elixir_buildpack.config Update elixir to 1.2.3 herokuapp Feb 27, 2016
mix.exs Add mix.lock to package Mar 6, 2016
mix.lock Add mix.lock to git, thanks @ericmj Mar 5, 2016
package.json
phoenix_static_buildpack.config
webpack.config.js

README.md

Lyn

Build Status Dependency Status devDependency Status Hex Version Hex docs PayPal donate button

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.

Introduction

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.

Features

  • React Server-Side render using heavily modified Reaxt source-code under the hood

Before You Begin

Before you begin we recommend you read about the basic building blocks that assemble a Lyn application:

Quick Install

  • Install dependencies with mix deps.get
  • Create and migrate your database with mix ecto.create && mix ecto.migrate
  • Install Node.js dependencies with npm install

The last step might take a very long time since we are using some dependencies from github (like Bootstrap 4).

Configuration

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.

Running

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.

Deploying

Ready to run in production? Please check Phoenix Framework deployment guides.

SSL/TLS

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.

FAQ & Chat

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.

Contributing

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.

Credits

Main author and active maintainer is Valerii Iatsko, feel free to follow:

Based on some code from these projects:

License

MIT

You can’t perform that action at this time.