Challenges during Yasas DevX Suite development
Yasas DevX Suite
● Uploading CSV from portal and
save the data in database
● Fetch the saved rules to
dashboard
● Saving the rule
● Dropdown data is slow
● Deployment issues: AWS,
Docker
● Managing the portal
certificate.
While
uploading CSV files containing source details and identity attributes through
the Yasas DevX Suite portal, the data was not being saved in the database as
expected.
We analyzed the backend API endpoint and inspected the
payload sent from the frontend to the backend. During this analysis, we
discovered a mismatch between the frontend payload structure and the backend
API expectations.
We corrected the payload format to ensure consistency
between the frontend and backend. Additionally, we verified that the database
column names correctly matched the CSV headers. After making these adjustments,
the CSV upload functionality worked correctly and the data was successfully
stored in the database.
After creating and saving the rule, the saved rule is
not getting reflected in the rules dashboard.
After looking into it, we found that the frontend file
(dashboard.js) and the backend controller (DashboardAggregateController.java)
had different rule type configurations.
This discrepancy prevented the dashboard from
retrieving and displaying the saved rules. By making sure the rule types
matched properly on the frontend and backend, we were able to resolve the
problem. Additionally, we confirmed that the rules were accurately saved in the
database.
During
the initial stage of development we are unable to save the generated rule.
To
find the problem, we used console logs and browser developer tools. Examining
the front-end and back-end API endpoint configurations was part of the
research.
To
make sure the necessary endpoint was set up correctly and reachable, we also
examined the backend security settings (SecurityConfig). This assisted us in
resolving possible CORS-related problems, which allowed the rule-saving feature
to function properly.
The
dropdown of source names and source attributes was very slow.
Initially,
we tested the Supabase API endpoints used for fetching source names and
attributes and confirmed that the response time was acceptable.
To
improve the dropdown performance:
● We implemented caching on the
frontend to quickly load source names.
● When fetching source
attributes (which contained 1000+ records), we implemented pagination.
● Instead of loading all
records through a single API call, we introduced multiple API endpoints to
handle the data more efficiently.
These
optimizations significantly improved the dropdown loading performance.
The
platform was set up on a tiny, storage-constrained AWS T2 instance. We ran into
disk space problems during deployment after dockerization.
We routinely removed unnecessary Docker containers and images prior to each deployment in order to manage the constrained storage capacity. This facilitated the effective completion of the deployment process and helped free up space.
There is currently no automated renewal procedure set up, and the portal SSL certificate needs to be renewed every three months.
Currently, the certificate renewal process is done by hand prior to the expiration date. Future plans call for automating the certificate renewal procedure to guarantee continuous portal access.
Sricharan KT