RisingInnovator (Easy Balance) is an simple application designed to be simple and intuitive web application for young innovators, to allow comprehension of basic financing education to students between 10 and 17 years old kids.
This application allows to manage in simple ways the usual operations of a business and allows to understand the workflow, wording and results of the everyday small businesses operations.
Our client reached out with the idea to create a simple application where users can see the balance of their "fantacy business" and register all operations/transactions. Based on this approach, we developed a good MVP (minimum viable product) that runs with their existing e-learning system.
Additionally, we review and defined a plan to build this new application under 2 month of work (really challenging deadline!) by using the Next.js framework with a base theme which covered the basic interface needs according our styles guidelines from the existing website.
For the development of the system we took advantage of the quick development schema and rapid iteration validation of using Next.js which includes React.js tools like hot reloading for faster visual changes implementations. Also, we reviewed the required tools to handle the database creation and incremental changes required to add the backend storage of the system.
The main challenge was to integrate the user identification with the current WordPress website to allow to identify the user and it’s data using an external system as the source of the authentication. For this, we used a WordPress plugin that allows to identify the user based on their cookies and retrieve the information and permissions based on the configuration set. However, the application might only be used by certain type of students, therefore we added the validation and checks to grant access only for the user groups based on the integration with the LearnDash LMS WordPress plugin.
We used an iterative plan and leveraged the ability of our CI/CD infrastructure to auto-deploy the latest tested version of the system to the client so they can have a overview of each feature each time the QA passes. Together with the automated testing on code checking, styles and automated acceptance testing using CodeceptJS, we were able to have a continuous stream of changes been deployed into the staging server to review and give feedback, without having regression issues within all the deployment process up to the initial version.
After we completed the initial version, we reviewed the infrastructure to deploy the final version. For this we used the basic elements and deployed the application on a PHP server where the production WordPress site is located. To handle this we installed Node locally, installed the application and synchronized the changes of the database into the Aurora Database provided by our client. After the initial configuration of the WordPress plugin was completed, we created a reverse proxy on the Apache configuration to use the same server as a way to access the application.
Right now we are working on completing new features to add to the next version and checking any feedback that might come from the usage of the system with the real users to adjust whatever is required.