Solutions
In order to keep up with the demanding requirements of modern and complex software projects, you will quickly find yourself dealing with the same tasks setting up a foundation for your project over and over again.
Given that new projects tend to default to containerized deployments, the ReBase foundation framework provides the perfect basis for adding your business logic on top while only requiring high level code to get things done.
1. Your project's busines logic
This is where you implement eg. API calls with high level functions.
2. ReBase foundation framework
Sets up all features as requested in the rebase-manifest.json file.
3. Container runtime
Use your favourite containerization technologies like podman or docker.
4. Host operating system
When using containerization, your business logic will run completely independed from the host OS.
The ReBase foundation framework offers a lot of features to kickstart your backend, including highlights such as:
API Communication
ReBase worker nodes use a single api endpoint, differentiating the api handler to use based upon the requested api type and version. All that is required from your side is high level code to react on the request.
API endpoint handlers are written in NodeJS module syntax and have access to all enabled features and extensions of the their worker node.
Database Diversion Synchronisation
Multiple NoSQL as well as SQL databases can be accessed using an unifed database interface. This is very benificial to the performance of database queries as document properties can be made available in cache instances.
Supported database management systems include MongoDB, Redis and Redis spinoffs, MariaDB as well as PostgreSQL. When using a document database like MongoDB together with a cache database such as Redis, database updates will be written to both, but cache databases are accessed first during queries to boost performance.
Backend-UI
Create a backend login protected user interface with a JSON defined structure. All views and actions can be access controlled by defining privilege lists and user roles.
The displayed ui can be extended through an extensions interface. Views are written in an react alike syntax and benefit from the selection of builtin components.
Task-Scheduling
Sometimes you need dynamically managed and software controlled events to be scheduled which would exceed the capabilities of cron. The ReBase foundation framework offers a task scheduling feature which is completely controlable with the builtin api. Another use case of the task scheduling feature is the queueing of one-shot tasks, like converting user uploaded media.
Bug-Tracking
To compliment the worker's logging system, all workers are equiped with a bug-reporting system to allow you to keep track of detected problems.