Coming breaking changes about Bandori Database, the future and more

TL;DR

  • Bandori Database will be renamed to Bandori Top with new domain bandori.top.
  • The old domains bandori.ga and bangdream.ga will be abandoned in the near future.
  • All requests to old domains will be 301 permanent redirect to new domain.
  • More stable and robust auto update of datas and assets.
  • New design of pages and offline cache.
  • Crowdin Translation support.

Domain and name changes

I configured an automatic update of the certificates for my domains, but about two weeks before, someone reported that the cert of my api server was expired. I thought it must be the scripts not working again. Unfortunately, I manually ran the command, then error occurred. The log showed a strange error message:

1
{"error": "You cannot use this API for domains with a .cf, .ga, .gq, .ml, or .tk TLD (top-level domain). To configure the DNS settings for this domain, use the Cloudflare Dashboard."}

It was really a shock for me. After some googling I realized that CloudFlare banned free domains from using API. I mainly use CloudFlare API for assign wildcard certificates, and from now on I can’t do it anymore with my “free” domains. It reminds me of the fact that anything free may be not stable. OK, it’s time to say goodbye to free domains.

After some search acorss different domains and domain registrars, I picked bandori.top. I will move all Bandori Database services to this domain, and, to match the new domain, I made the decision rename it to Bandori Top.

Website changes

It’s been a quiet long time that I didn’t change anything on Bandori Database except bug fixes. I planned some features before but they still on the pending feature list. To tell the truth, I’m not good at designing, and the user expericence of Bandori Database is far from convenient. Sometimes the auto update feature also fails. In the past months I made some changes about backend, making it more reliable and robust, and they are not public at this moment. As the changes is so breaking, I have to modify a lot of codes of frontend and API, so I decided to improve Bandori Database and introduce some new features.

The following parts might contain some technical details and are not friendly for normal users.

Backend and API

Bandori Top API Service is a RESTful API service. Current versioning, from start of service never changed, is v1. But because the backend will directly use the proto definition extracted from the code, many entries and key names are changed, most api will have a new version v2. As v1 endpoints may still work, some key may have changed and you should follow those changes to prevent crash of your programs which use Bandori Top API Service.

New page design

I have to say, I’m not good at representing data in a “beautiful” way. I decided to redesign the pages again to make them more clear and to display more useful information. Gachas will be removed from home page and moved to separate page. Event history will be presented in a new page supporting by a backend database. Card detail and song detail page will also have more information.

Bug fixes

Yet some bugs make some important features unavailable, like Live2D and music chart viewer. They have something to do with backend and with new backend version they will be fixed.

Crowdin Translation

Bandori Top support multi languages, but some translations are missing in Korean and Japanese. Now with new Crowdin Translation feature, you can help improving the translations! More info see project page. You may need a account for submitting new translations, and I can invite you to collaborate.

Offline cache with IndexedDB

IndexedDB is a useful tool for Progressive Web Appliaction (PWA). PWA is aimed to create “experience like native apps”, so offline use and offline cache is important to such apps. IndexedDB is the tool exact for this task. And with offline cache, your access to Bandori Top will be blazing fast because most data will be retrieved from cache. I will do some optimizations to ensure cached data up to date and you will not see deprecated data if you are online.