Tuesday, 31 December 2024

Hercule Poirot Catalogue

A recent piece of work I was asked to do involved the creation of a lookup application prototype involving a theme of our choice. I love databases and I love Poirot so what could be better than an application that involves both things?

This application was designed for both Windows and Android platforms within Visual Studio Community 2022 using .NET MAUI.

The Prototype

The basic function of this application is to allow a user to catalogue their collection of Hercule Poirot novels. I would like them to be able to see which books they own, which they do not own and also a way to see all books. I also want to include the option of having multiple users, as a way to create multiple sets of data.

The Database

As this is just a basic prototype and I only need to include basic features I decided to make my database simple. It only really needs two things, books and users who collect them. So I created a table with the books and a table with the users.

My users table only needs two different users and usernames to display in the application itself. I included password fields in the event I resume work on this at a later date and have therefore given them placeholder data.




 

My table for the books is more detailed as it needs to have fileds for the various information that can be filtered and sorted, such as release date, titles and it's owned status. I decided to create one table with the primary key being the User, allowing for a title such as Murder on the Orient Express to appear twice with the same BookID and details. Doing the table this way also prevents the need for creating Junction or Join tables. For an actual application I plan to release I would of course do this in that way, but for my current needs this method is sufficent.

















 

Features

I wanted a basic and simple screen with a simple and tidy background. I included a picture of Poirot in the corner and the amazing theme of the television series plays (which you of course won't see in the screenshots).







 

I added placeholder text for buttons that would not be used at this stage.







 

On the main browsing page I added options to sort titles by year or by title.


 

 

 

 

 

 

 

 

 

 

 

 

I added the option to change user also.







 

Next Steps

Were I to continue developing this application I would add the ability to add or remove titles, give UI customisation features to the user, add an offline system to this application and possibly add tags to individual books to allow for example users to enter the word 'Train' and get Murder on the Orient Express to appear or 'Hastings' to return titles he featured in.

Conclusion

While this was a simple application for me to make in terms of the database elements. The UI parts had me use .NET MAUI for the very first ocassion and I can see why it is very useful for cross-platform development and it certainly saved me time when creating something designed for both Windows and Android.

Overall I throughly enjoyed making this application and it was nice to make something that was more code based instead of the more Blueprint focused projects I have been given lately for my degree.