The app changed the old handling of the sheed music from my local music club.
We have been using Excel files to store all the sheet music with their corresponding index numbers, genre, authors and publishers.
With the new app, me and other club members will be able to access the archive from their phones at any point.
All users that have permission will be able to add pieces and an index number will be automatically generated for said piece.
This will help so there are no duplicate entry's for the index numbers (they used to be written down by hand).
No longer will we need to look at almost a hundred pages of printed excel sheets sorted by genre and in genres by alphabetical order
to find a specific piece, of which we may only know one part of the name. (you can image - it took forever to find something!)
The system will also look in the database before inserting a new piece.
If the name already exists within the database, the user will receive a warning and it won't insert.
The first step in developing the app was to convert our excel files into a database. I decided on MySQL because I already knew how that worked. I cleaned and analysed the data to make sure no errors will be in the database. I then created a simple UI that everyone could use and understand. The solution how the app communicates with the database is a pretty nice one (imo). Im sending https requests to the webserver the clubs homepage is hosted on. This webserver will accept the requests and run SQL-Querys on the database which then get to the app in the form of a JSON file. I read and parse this file in the app and then instanziate classes and fill a table with the content from the JSON. All of which happens in only a few seconds (mostly depending on how busy the webserver host is).
After the project has finished, I developed an update feature, where after searching a piece and you would notice something wrong with it, you could simply tap on it and then send an update requests to the database.
Please reach me at firstname.lastname@example.org if you want to get in touch.