Lately I have been working on having a proper database of equipment for Windsurf Buddy and using the database engine to do most of the processing of providing the best equipment advice. Until now the equipment was a static collection of Java objects and resources.
I have several hopes on the result of development:
- easier to extend suggestions: for example also provide masts advices according to the sail specifications and brand "affinity" (some sails work better with some mast brands);
- user management of the equipment (adding, editing, deleting, etc);
- sharing of equipment data between users and a central equipment repository (still just an idea).
The database schema for now is composed of around 20 tables - not that many but keep in mind that this is running in phones, even older Android phones too. To avoid writing lots of code that translate SQL results into Java objects (a ORM) I'm using ORMLite. Some, if not most, of the queries to the database are still almost raw SQL.
Until now it this approach work well but is still far from being comparable to the existing static objects and resources implementation. That moment is nevertheless getting closer and the next 1.5 release will start using this database for the equipment.