All features/functions are put into separate structures, often front-end and back-end side-by-side. The whole project is divided into the following parts:
Based on Flask blueprint, it allows separating parts of an application that are significantly different each from another and requires a different level of authentication/authorization.
Components are ReactJS pieces of code, sometimes accompanied by CSS. Doesn't have any back-end part. Examples:
The boilerplate is also fully integrated with the React Bootstrap library. To use it, just create a link like:
import Button from 'react-bootstrap/Button';
Modules are the code that can't be decoupled and should go together: front-end and back-end. They both belong to the same functionality and front-end often calls endpoints from the same module's back-end.
The API endpoints will be imported and registered in the dashboard blueprint automatically.
If back-end requires to initialize some extension using init_api() this function should be provided at the .py code and will be called automatically.