Improved Search, User Logins, and the Dragonlash Database API

Nov 16, 2018

Hey everyone! I know I'm pretty far behind on content. It may seem like I've been doing much, but I've been actually been doing a lot of work on the site that I'm excited to tell you about! I mentioned in my last post, I did a major overhaul of the site's backend. Well, that overhaul enabled me to make the improvements that I'm going to tell you about now.

Improved Search

Being a reference site, this is something I really want to get right. One of the changes I did in the overhaul was to switch my backend database to PostgreSQL. I did this because not only is it a very fast database, but they've recently added some really nice text search capabilities. I've also figured out a way to do this search in a categorized, or "faceted", manner. This mean that the database query also gives how the results break down along various categories. This means that I can have dropdown menus that you can use to select facets to refine your search. This is actually a common search paradigm that you'll be familiar with from e-commerce websites such as Amazon or Newegg. It looks like this:

Faceted Search Screenshot

Now, I still want to improve the presentation of that data, but in the meantime it should still get you to what you're looking for faster.

User Logins

You may have noticed a new icon of a person on the title bar. A few of you even created accounts and probably noticed that it doesn't do much. Ultimately I'd like to allow people to save characters and such there, but for now, here's the deal: I've had people in the past generously volunteer to help enter/update content on the site, but I had no way for them to log into the website's backend CMS to do it. Now I can. If you're interested in helping out, just make an account and shoot me an email requesting to be made an editor. There's no need to know anything about programming or databases, it's simply a matter of filling out information in forms like this:

Dragonlash Backend

Dragonlash Database API

I felt that I couldn't have the community to contribute content to this site's database without making the database openly available the community. So, I've made the database accessible programmatically via a JSON API. The Starfinder content can be found at https://api.starfinder.dragonlash.com/, and the APIs for other gaming systems will be found under their respective subdomains as they're added. With this, developers can easily retrieve information from the database in their applications. So contributing updates to this site also means contributing to all the websites, apps, and tools that use this API as a data source.

Edit 7/27/19: API location has been moved from https://starfinder.dragonlash.com/api/ to https://api.starfinder.dragonlash.com/. The post has been modified to reflect this change.