Our plan is to build a new panel with it’s own API, completely separated from our current code but using the same DB. This will allow us to continue maintenance for current operations while this is being developed.
This new panel will eventually become THE panel for providers. That means we will start migrating modules as fast/safe as possible, in the future.
Here are some use cases for the scope of this project:
If I’m a provider i can...
Register/Login to the panel
View/Modify my profile
CRUD new routes
See a comprehensive list of routes with good sorting and filters
see the routes and customers combined in maps
Set the area for the route using polygons on the map or selecting cities from an autocomplete input.
Use bulk actions on the route list.
Create new users for this panel.
Attached you have a EER diagram were I provided the table structure to start this off.
There are 3 layers:
READONLY: These tables we currently use for this data. The new panel will consume them to populate the data.
WRITE: This is where the real integration happens. The new with the old. Until we can finish the full migration we have to update this table using the current logic for it. So we’ll need to add some middleware that will handle the “translation”
OWN: This is the architecture I believe we need for this.
Vuejs (we have selected some Admin templates)
Nodejs (framework or modules to be defined)
Mocha or Jasmine for tests
Google Maps API