Experimental and in progress Elixir web app framework
Go to file
Renovate Bot 851facbd35
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
chore(deps): update dependency erlang to v27
2024-05-20 21:33:16 +12:00
.devcontainer improvement: component events/scripts. 2023-02-18 04:31:55 +00:00
.vscode chore: don't install the jupyter VS code extension. That's just weird. 2023-10-02 16:54:44 +13:00
assets chore: Remove unused JavaScript dependencies. 2024-03-08 17:43:45 +13:00
config chore: Update forgejo hostname. 2024-02-05 16:11:44 +13:00
documentation/dsls fix: compiler deadlocks caused by Spark update. 2024-03-10 20:08:44 +13:00
lib fix: don't just crash when the app argument is missing. 2024-03-14 19:15:02 +13:00
priv feat: TypeScript client-side components. 2023-03-09 04:25:52 +00:00
src fix: bugs in route helpers. 2023-10-02 18:02:56 +13:00
test improvement: Use Elixir 1.14+ multi-letter sigils. (#35) 2024-03-13 16:40:12 +13:00
.check.exs docs: Enable Spark DSL cheatsheets. 2023-09-30 19:56:52 +13:00
.dialyzer_ignore.exs feat: TypeScript client-side components. 2023-03-09 04:25:52 +00:00
.doctor.exs feat: route templates. 2022-12-22 07:29:14 +00:00
.drone.yml chore: fix docs step. 2024-03-14 19:19:31 +13:00
.formatter.exs fix: compiler deadlocks caused by Spark update. 2024-03-10 20:08:44 +13:00
.gitignore feat: TypeScript client-side components. 2023-03-09 04:25:52 +00:00
.sobelow-conf chore: change links to code.harton.nz. 2023-06-30 21:12:40 +12:00
.tool-versions chore(deps): update dependency erlang to v27 2024-05-20 21:33:16 +12:00
CHANGELOG.md chore: release version v0.9.8 2024-03-14 06:16:19 +00:00
LICENSE.md chore: Fix copyright notice. 2023-01-17 10:46:50 +13:00
mix.exs chore(deps): update dependency spark to == 2.1.22 2024-05-15 04:11:55 +12:00
mix.lock chore(deps): update dependency plug to v1.16.0 2024-05-18 21:35:56 +12:00
package-lock.json chore(deps): lock file maintenance 2023-06-30 19:38:07 +12:00
package.json feat: TypeScript client-side components. 2023-03-09 04:25:52 +00:00
README.md chore: Update package links and README. 2024-03-08 14:33:04 +13:00
renovate.json chore: Configure Renovate (#3) 2023-07-21 13:25:46 +12:00

Cinder

Build Status Hippocratic License HL3-FULL

Cinder is a framework for building real-time web applications in Elixir with a focus on isomorphism and developer experience.

Status

Cinder is still very much in the experimental phase and should not be used by anyone who wants to keep their job - except if their job is experimenting with new and interesting ways to build apps.

At the moment documentation is severely lacking. You are welcome to contribute some.

Goals

Cinder has some lofty goals:

  • Enable developers to build concurrent, real-time web applications without having to reason about traditional backend/frontend concerns or the request/response cycle.
  • Provide a rich domain-specific language which allows the developer to express common domain concerns quickly and from which much of the application framework to be derived at compile time and introspected at runtime.

But probably more important are the non-goals:

  • Cinder is not a replacement for Phoenix. Cinder does not provide many of the features of Phoenix and intentionally so. It does not care about building APIs, controllers or live-views. You can run Cinder inside a Phoenix application if you need these features.
  • Cinder is built using tools from the Ash ecosystem, however Cinder is not designed to be used solely with Ash. Cinder's golden path may evolve towards recommending Ash to model your application layer, but it will always work without it.
  • Avoid code-generation wherever possible. Just trust me on this.

Installation

Cinder is not yet ready to be published to Hex, so in the mean time if you want to try it you should install it directly from the repository:

def deps do
  [
    {:cinder, git: "https://harton.dev/cinder/cinder", tag: "v0.9"}
  ]
end

Documentation is not yet published to Hexdocs, so you can access the latest version on my docs site.

Github Mirror

This repository is mirrored on Github from it's primary location on my Forgejo instance. Feel free to raise issues and open PRs on Github.

License

This software is licensed under the terms of the HL3-FULL, see the LICENSE.md file included with this package for the terms.

This license actively proscribes this software being used by and for some industries, countries and activities. If your usage of this software doesn't comply with the terms of this license, then contact me with the details of your use-case to organise the purchase of a license - the cost of which may include a donation to a suitable charity or NGO.