akit

0.0.4-alpha • Public • Published

Akit

PRE-ALPHA. UNSTABLE API. SHARP EDGES AND TRAP DOORS EVERYWHERE.

React- and Flux-based building blocks for creating a purely client-side admin UI

Assumes a specific JSON API schema for client/server communication but otherwise does not care how the server works

See the starter directory for an example barebones project that uses Akit.

Why

An administrative UI is a requirement for most web apps. Typically they are CRUD-based, operate on record-like data, and are highly consistent in their use of UI convensions (list records, view record, edit record, etc.).

There are tools for building admin UIs, but they usually span across server and client. Akit is entirely client-side and isn't concerned what tech stack you use on the server.

It is also based on Flux/React and can participate in that ecosystem.

Principles

  • Let real-world needs guide development. This library was built alongside real web apps in an effort to streamline and simplify development.
  • Avoid abstraction until it hurts. "It's better to have no abstraction than the wrong abstraction."
  • Minimize options and logic branching. If you need something truly custom, make your own component (possibly using a built-in one as a starting point) and tailor it to your needs.
  • Make it relatively easy to grow an app from small/cookie-cutter to big/custom
  • Rely on third-party components when it makes the code simpler

TODO

  • Formalize and document backend API requirements - JSON schema, etc.
  • Document record descriptors
  • Explain why we're not using React Router
  • Think about and decide whether to move away from Flux in favor of Redux/Relay/Falcor
  • Move internal Trello tasks into Github issues

Developing

npm install

npm run build

Watch for changes and rebuild (depends on fswatch):

fswatch -o js | xargs -n1 -I{} npm run build

Readme

Keywords

none

Package Sidebar

Install

npm i akit

Weekly Downloads

6

Version

0.0.4-alpha

License

none

Last publish

Collaborators

  • jkkramer