Buildly React Template: The Buildly Core Administrator

Welcome to Buildly React Template’s documentation! Get started with the Quickstart. Features are described and explained in more details in the Features section. The rest of the docs describe each module of Buildly React Template in detail.

Buildly React Template depends on the NodeJS, Yarn and Gulp. The documentation for this service can be found at:

User’s Guide

This technical communication document, is intended to give assistance to developers using a Buildly React Template.

Quickstart

Excited to get start? This page gives a decent prologue to Buildly React Template. It assumes you as of now have a Buildly Core instance up and running and also all the project’s prerequisites installed.

  • node v10.16.0
  • yarn v1.17.3
  • gulp-cli v2.2.0

Installing

Download and install web application dependencies running the following command:

yarn install

Now, initialize and build the project

yarn run init
yarn run build

To run the web app:

yarn run start

your Buildy UI will be running locally and listening to the port 4200, so you can access it via your browser typing this address: 127.0.0.1:4200

Running the tests

To run tests using Jest:

yarn run test

Features

Login

Uses the OAuth library from midgard-core for the OAuth password-flow authentication process with Buildly Core.

Login Screen

Registration

A form where the user can register an account with the app. They will also be redirected to this screen after accepting an invitation from a super user.

Register Screen

User Management

A screen where an administrator can manage users, create/update/delete application permission groups and assign them to users.

Current Users Screen User Group Screen

Profile Settings

A screen where administrators can update their own profile.

Profile Settings Screen

Buildly React Template provides different features and user interfaces corresponding to each feature.

Modules

Connection to Buildly Core

Buildly React Template uses the Redux-Saga middleware library to handle interactions with Buildly Core. A store configuration is defined in the /src/redux directory and connected at the root level index.js file.

The /src/redux directory contains the /actions, /reducers and /sagas sub-directories.

Actions are dispatched directly by components. Each client has a separate .actions.js file which contains actions to create, read, update and delete.

Generator functions defined in the client’s .saga.js file watch for actions to be dispatched. When this happens, they call another function that uses the services provided in /src/midgard/modules. These services are responsible for commnunicating with the API. All sagas must be imported into the index.js file in this directory.

The .reducer.js files update the state with the responses from the server. All reducers should be imported into the index.js file within this directory.

HTTP Module

The Http module connects to the Http implementation in midgard-core and handles requests to the server.

OAuth Module

The OAuth module connects to the OAuth implementation in midgard-core and provides functionalities related to authentication, e.g., logging in using the password flow, logging out, retrieving and saving the access token.

Buildly React Template uses the actions defined in /src/redux/actions/Auth.actions.js to access these functionalities within the components.

In the attempt of removing the redundancy and repeatability when implementing the application, Buildly React Template has some Modules built into it. They are data structure and logic created for re-usability to facilitate developers life.

Additional Notes

Design notes, legal information and changelog are here.

License

The license applies to all files in the Buildly React Template repository and source distribution. This includes Buildly React Template’s source code, the examples, and tests, as well as the documentation.

To read the whole Buildly React Template’s license, click here!

Contribuiting

First off, thanks for taking the time to contribute!

To know more about how you can contribute to Buildly React Template, click here!