Development
Scalability was a key consideration from the start, as MUSA was developed with The Hunt Museum as
the first partner while keeping future expansion to other museums in mind.
Using Vue's component and template system, I created reusable layouts and page templates for museum
pages, artefact pages, and interactive games. This meant that the same page structures could be
reused across different museums and collections, while changes to a shared template could be made
in one place rather than across individual pages.
The same principle applied to the database: rather than duplicating tables for each museum, I
designed a relational MySQL schema where museums, artefacts, categories, materials, and games are
all connected through shared tables. Artefacts link to their categories and materials through join
tables, support multiple images through a dedicated table, and every game type belongs to a specific
museum.
Nuxt's server engine (Nitro) provided the API layer, retrieving and serving the appropriate content
based on the requested museum and content type, which kept the platform's interface structures
fully decoupled from its content.