Code Monkey home page Code Monkey logo

lyn's Introduction

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

lyn's People

Contributors

viatsko avatar

Watchers

James Cloos avatar Rodrigo Teobaldo avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.