This PR works with the recent back-end update to provide an operator page secured by a login.
The page is designed to be extended in a modular fashion to support reasonably-sized contributions from multiple volunteers. The page as provided here shows a list of drivers. As much as anything, this is to show proof-of-concept and an example UI and code for new volunteers.
Probably a lot of the explanation below will be added to the Readme some time after the PR is approved.
The new setup, as described below, is automatically provided by the use of the docker development environments provided in the back-end repo.
The main reasons for the new setup are to provide a development setup that is mainstream, efficient and suits modular development. So the idea is that we provide a setup that enables us to encourage volunteers who use modern tools to help us out by the creation of reasonably-sized contributions.
As well as the technologies below, the operator page can be extended by use of plain JS, with no framework at all, or JQuery. Such contributions are perhaps not ideal but possible and there is some code in this PR that demonstrates the use of plain JS (it may need a quick tweak first). Technologies such as Vuejs may possibly fit in, too.
However, the main technologies used and encouraged are:
React - more specifically the React/Redux pattern. This pattern may not suit every React coder, but is very mainstream. If a volunteer can show some other React style can be used alongside without significant issues, that would be acceptable.
Webpack is built into the docker development environments so no manual build steps are necessary for volunteers except writing code. As yet, there is no hot-module-reloading but the way the operator page works means this isn’t a big issue. There’s some room for improvement, but coders can use ES6 (and beyond as we expand the setup) code and source-maps exist for practical browser debugging.
This PR works with the recent back-end update to provide an operator page secured by a login.
The page is designed to be extended in a modular fashion to support reasonably-sized contributions from multiple volunteers. The page as provided here shows a list of drivers. As much as anything, this is to show proof-of-concept and an example UI and code for new volunteers.
Probably a lot of the explanation below will be added to the Readme some time after the PR is approved.
The new setup, as described below, is automatically provided by the use of the
docker development environments
provided in the back-end repo.The main reasons for the new setup are to provide a development setup that is mainstream, efficient and suits modular development. So the idea is that we provide a setup that enables us to encourage volunteers who use modern tools to help us out by the creation of reasonably-sized contributions.
As well as the technologies below, the operator page can be extended by use of
plain JS
, with no framework at all, orJQuery
. Such contributions are perhaps not ideal but possible and there is some code in this PR that demonstrates the use of plain JS (it may need a quick tweak first). Technologies such asVuejs
may possibly fit in, too.However, the main technologies used and encouraged are:
React
- more specifically theReact/Redux
pattern. This pattern may not suit every React coder, but is very mainstream. If a volunteer can show some other React style can be used alongside without significant issues, that would be acceptable.Webpack
is built into the docker development environments so no manual build steps are necessary for volunteers except writing code. As yet, there is no hot-module-reloading but the way the operator page works means this isn’t a big issue. There’s some room for improvement, but coders can useES6
(and beyond as we expand the setup) code andsource-maps
exist for practical browser debugging.