coopTilleuls / hm-admin

hm-admin is an angular2 component which help you to build backoffice automatically for an hypermedia API
MIT License
7 stars 0 forks source link
backoffice hm-admin hypermedia-api

Hm-admin

Build Status Coverage Status npm version Join the chat at https://gitter.im/coopTilleuls/hm-admin

Description

The main goal of this project is to provide a self-generated backoffice which take advantage of the context describe in Hypermedia API. This backoffice should be easy to override via simple configuration variables but must have a good abstraction to allow a deep override if the integrator need it.

The backoffice should respect some rules:

As the full stack of typescript + compilation + tests + ... is quite pain in the ass to install, this project is based on angular-cli.

Let's start

Requirements

Installation

First, clone the project

git clone git@github.com:coopTilleuls/hm-admin.git name-of-your-project 
cd name-of-your-project

Note from Captain Obvious: Don't forget to replace name-of-your-project by your project's name.

Then you can install dependencies and start your project

npm install -g angular-cli
ng serve

And that's it...

Configuration

Nice try but your app throw an error cause it can't reach your API. Ok. Google himself doesn't know the path of your API. Or maybe they know? ... hmm. Whatever. There's a minimum configuration that is required and it's your API's path, so let's fill it in the src/app/exemples/admin/configuration.ts file. There you will find all the stuffs you can configure (items in menu, displayed field in list, ...)

Contribution

This project is pretty huge and any help is welcome so feel free to contribute. There's a lot of things to do, each level of contribution may help (documentation, hotfix, compatibility, big features, ...). Thank you.

FAQ

I want to test this awesome tool but I don't have any Hypermedia API. Do you have some advice for me?

Yes, of course. Have you ever heard of API Platform? This solution helps you to build complex API, compatible with schema.org in a few minutes without being a monster in PHP, Java or any languages. Just some configuration steps.