Skip to content

igor-kamil/mkg-ornament

Repository files navigation

MK&G Ornament Explorer

License: MIT

Allow MK&G museum visitors to explore ornamental arworks by visual similarity and metadata.

Developed by Igor Rjabinin and Philo van Kemenade in partnership with the Museum für Kunst und Gewerbe Hamburg as part of the NEO Collections project.

Funded by the Digital Culture Programme of the Kulturstiftung des Bundes (German Federal Cultural Foundation). Funded by the Beauftragte der Bundesregierung für Kultur und Medien (Federal Government Commissioner for Culture and the Media).

Development

This software is built with the Laravel framework.

It requires

  1. PHP >= 8
  2. MySQL >= 5.7
  3. Docker

Installation & local development

for more details, you can read the laravel installation documentation

copy .env.example to .env and insert your settings

install back end dependencies

composer install

generate an application key:

php artisan key:generate

run migrations to create db tables:

php artisan migrate

run a local back end development server (or use other solution. on mac we suggest to use Herd)

php artisan serve

install front end dependencies

npm install

run a local front end development server

npm run dev

Data

There are to options how to get data in the app

Using seeder (quick & easy aproach for demo purposes)

Just seed the provided sample data using the command php artisan db:seed

Process used for MK&G collection data

  1. import item data from digikult export by: php artisan import:items {file} - check ImportItems.php for details
  2. import assets data from DAM export by: php artisan import:assets {file} - check ImportAssets.php for details
  3. pair the items with their online collection url by: php artisan import:urls {file} - check ImportUrls.php for details

Images

  1. download the images for imported MK&G items by: php artisan download:images
  2. generate tiny placeholder images for items by: php artisan generate:tiny-placeholders

Weaviate db setup

  1. Run the docker file
    docker compose up
  2. Run the schema command
    php artisan weaviate:create-schema
  3. Index the data from database with images to weaviate
    php artisan weaviate:add-data

Admin

This app contains also admin panel (reachable on {yourhost}/admin) build using Filament.

To create an user, run

php artisan make:filament-user

License

Source code in this repository is licensed under the MIT license. Please see the License File for more information.