The vTual Project: Build Alpha v.0.1.2 Changelog
Following the official launch mentioned in the previous posts, it was stated that development is no longer a priority. However, vTual continues to capture my personal interest.
This is because some "minor" changes have a significant impact, that leading to updates in various aspects and code revisions, here and there.
Background
There are several underlying issues that have driven the development towards version v.0.1.2, including the following:
Email Failover
There are several actions that require approval and must be communicated via email, such as password reset requests.
Therefore, we have designed a failover configuration for our emails to ensure that the messages we send consistently land in your inbox rather than being marked as spam.
To maintain system stability, emails will now be sent periodically rather than instantly. Therefore, please be patient and wait to receive the email for the action you need.
The sender's email address has also been updated to use the vTual domain. Previously, it utilized an email address associated with the entire Silverspoon project, but now the sender's email reflects vTual's branding.
Storage Server
Even before vTual exist, our "legacy" infrastructure is primarily already located in Europe, including its storage servers.
This storage server is based on our own research conducted for the operational service that came before vTual, which was a file hosting service.
Since file hosting operations require storage servers with large capacities and high bandwidth, we sought a service that could balance these needs while remaining relatively affordable.
After careful consideration, we somehow found a storage server provider that meets all of our criteria.
After we discontinued our file hosting service, the infrastructure and configuration of this storage server remained in our possession. Subsequently, it was repurposed for internal storage for all Silverspoon projects, including vTual.
However, several challenges arose afterward, particularly concerning performance and latency after the vTual infrastructure was fully relocated From Europe to Asia.
Durability and accessibility also posed unique challenges, considering that this storage server lacks duplication and caching features.
The solution: We spun up another storage server that addresses all the existing issues. This new server is located in Asia to cut down the latency, it's offers physical duplication and have built-in caching features.
- Old implementation: Local object (image, video, etc) in Europe > Caching in CDN (Object in Asia for Asian visitor, etc).
- New implementation: Local object (image, video, etc) in Asia > Cached physicaly at the nearest duplicate location to the visitor (Object duplication in Europe for European visitor, etc) > Caching in CDN (Object in Europe for European visitor, etc).
As a result, the storage server issues have been successfully resolved after making various adjustments. Performance and durability is expected to also improve significantly, as caching will be implemented on both the physical side and the CDN.
The links from the new storage server have also been simplified and are now more closely associated with vTual. Previously, the links were for the entire Silverspoon project, but now both public and private objects utilize vTual's branding.
Sitemap
A sitemap is a component that facilitates search engines, such as Google, in navigating the content of our website. Recognizing the importance of a sitemap, I ultimately decided to implement this feature.
What I needed was a sitemap implementation that could organize content by day, while the official documentation and its related tutorials only provided examples for creating a sitemap for all existing content.
Although this method is simpler, it requires the database to work much harder, and I am not fond of this approach to implementation. So I chose to "freestyle" my code, as I was unable to find a solution for my specific idea.
After successfully experimenting, I discovered that Google does not accept sitemaps stored at external addresses other than the same site address registered as a property.
You know, this issue arose because I had saved the sitemap on the aforementioned storage server. As a result, the implementation of daily sitemap storage and indexing has been redone, with the data now being stored on the main server of vTual.
Let us hope that in the future, vTual's content can be effectively indexed by search engines.
Internal Touch Up
I feel that I have been too focused on optimizing the integration of external services, which has led to several internal aspects being written in a less than optimal manner.
As a result, I have decided to make some adjustments to the internal repository in order to optimize the running code.
Verdict
At the very least, the four points mentioned above represent significant developments rather than mere minor changes.
Therefore, I am categorizing this update as one that elevates the application version to v.0.1.1 and I hope that this will further enhance the functionality and usability of vTual.
