fitz-main-website

A simple Laravel front end for the production version of the Fitzwilliam Museum website.

https://github.com/fitzwilliammuseum/fitz-main-website

Science Score: 85.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    2 of 11 committers (18.2%) from academic institutions
  • Institutional organization owner
    Organization fitzwilliammuseum has institutional domain (fitzmuseum.cam.ac.uk)
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.5%) to scientific vocabulary

Keywords

cambridge-university directus laravel laravel-framework laravel9 museum-digital php

Keywords from Contributors

sequences clade ranking interactive embedded yolov5s annotation network-simulation hacking optim
Last synced: 4 months ago · JSON representation ·

Repository

A simple Laravel front end for the production version of the Fitzwilliam Museum website.

Basic Info
  • Host: GitHub
  • Owner: FitzwilliamMuseum
  • License: gpl-3.0
  • Language: Blade
  • Default Branch: master
  • Homepage: https://fitzmuseum.cam.ac.uk
  • Size: 31.2 MB
Statistics
  • Stars: 5
  • Watchers: 2
  • Forks: 1
  • Open Issues: 12
  • Releases: 15
Topics
cambridge-university directus laravel laravel-framework laravel9 museum-digital php
Created over 5 years ago · Last pushed 4 months ago
Metadata Files
Readme Changelog Contributing License Code of conduct Citation

README.md

Framework for the Fitzwilliam Museum website

DOIORCiD

This repository contains the code base for a Laravel based front end for the latest version of @fitzwilliammuseum website.

The front end is very simple and uses Bootstrap latest framework, latest JQuery and various libraries to interface with a headless API provided by our installation of the @directus 8 system, Solr and ElasticSearch endpoints.

The models in this system point at an API rather than a database.

Data sources

Data comes from various systems and API endpoints.

  1. Main content - Directus Headless CMS
  2. Search content - SOLR 8.11.1 instance
  3. Collections content - CIIM version 5 ElasticSearch instance from Knowledge Integration, standard mappings and the nascent API
  4. Twitter - API driven
  5. Shopify - FME systems queried and indexed daily into SOLR
  6. Sketchfab
  7. Instagram
  8. Libsyn for podcasts
  9. UCAM streaming media service
  10. YouTube
  11. Vimeo

Cache

In production, we use REDIS. Locally use File based caching unless you want to install REDIS.

Deployment

View deployment information on the Fitzwilliam Docs.

Installation

  1. Install php 8.1 into your environment
  2. Install composer and then do the following: git clone git@github.com:FitzwilliamMuseum/fitz-main-website.git cd fitz-main-website composer install php artisan key:generate cp .env.example .env npm install On some ubuntu machines, the npm install script fails at the npm run copy command. To fix this run the commands separately:

bash npm run copy-uv-html # "cp -R node_modules/universalviewer/dist/uv.html ./public", Universal viewer copy npm run copy-uv-css # "cp -R node_modules/universalviewer/dist/uv.css ./public/", npm run copy-uv-assets # "cp -R node_modules/universalviewer/dist/umd/ ./public/umd/", npm run copy-icons # "cp -R node_modules/super-tiny-icons/images/svg/ ./public/images/svg/", npm run copy-cookie-css # cp -R node_modules/vanilla-cookieconsent/dist/*.css ./resources/css/", npm run copy-cookie-js # "cp -R node_modules/vanilla-cookieconsent/dist/*.js ./resources/js/", npm run copy-pannellum-css # "cp -R node_modules/pannellum/build/*.css ./public/css/", npm run copy-pannellum-js # "cp -R node_modules/pannellum/build/*.js ./public/js/",

If the versions have been updated you may need to run:

bash npm run production

Which will compress all the css and js files.

Env setup

Fill in variables for your instance (Cache etc), values from the production version of the websites are on the main network drive.

nano .env

A few notes on env settings

Set CACHE_DRIVER to redis or file depending on your environment.

Set the SOLR_ENABLED flag to true or false based on whether Solr is supported in your environment.

Running a local copy

If you are running locally you can preview the website via:

bash php artisan serve

I feel the need for speed

To cache icons and routes:

bash php artisan icons:cache php artisan route:cache

License

GPL V3

Contributors

Daniel Pett @portableant

Owner

  • Name: The Fitzwilliam Museum
  • Login: FitzwilliamMuseum
  • Kind: organization
  • Email: itoffice@fitzmuseum.cam.ac.uk
  • Location: Cambridge

The Fitzwilliam Museum Digital and IT team's code and tricks

Citation (CITATION.cff)

cff-version: 1.2.0
title: The Fitzwilliam Museum Main Website Framework
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Daniel
    family-names: Pett
    email: dejp3@cam.ac.uk
    affiliation: 'St Edmund''s College, University of Cambridge'
    orcid: 'https://orcid.org/0000-0002-0246-2335'
  - given-names: Georgina
    family-names: Doji
  - given-names: Olivia
    family-names: Warren
identifiers:
  - type: doi
    value: 10.5281/zenodo.6304361
    description: Zenodo issued DOI
repository-code: >-
  https://github.com/FitzwilliamMuseum/fitz-main-website
url: 'https://fitzmuseum.cam.ac.uk'
abstract: >-
  This repository holds the Laravel 9 framework for
  the front end build of the Fitzwilliam Museum's
  website. This interfaces with a headless CMS and
  collections API.
keywords:
  - laravel
  - museum
  - open-source
license: AGPL-3.0

GitHub Events

Total
  • Delete event: 65
  • Issue comment event: 42
  • Push event: 198
  • Pull request review comment event: 11
  • Pull request event: 140
  • Pull request review event: 39
  • Create event: 65
  • Commit comment event: 1
Last Year
  • Delete event: 65
  • Issue comment event: 42
  • Push event: 198
  • Pull request review comment event: 11
  • Pull request event: 140
  • Pull request review event: 39
  • Create event: 65
  • Commit comment event: 1

Committers

Last synced: over 1 year ago

All Time
  • Total Commits: 2,220
  • Total Committers: 11
  • Avg Commits per committer: 201.818
  • Development Distribution Score (DDS): 0.174
Past Year
  • Commits: 191
  • Committers: 5
  • Avg Commits per committer: 38.2
  • Development Distribution Score (DDS): 0.508
Top Committers
Name Email Commits
Daniel Pett d****3@c****k 1,833
Miro Ostafiński o****m@g****m 129
JamieC24 j****e@s****t 128
Gareth Trinkwon g****h@s****t 37
Alan Isaacson 3****n 33
Sean Dunwoody s****n@s****t 27
dependabot[bot] 4****] 19
George Doji g****4@c****k 5
Simon R Jones s****n@s****t 4
snyk-bot s****t@s****o 3
Oliver Warren 6****n 2
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 40
  • Total pull requests: 185
  • Average time to close issues: 8 months
  • Average time to close pull requests: 17 days
  • Total issue authors: 1
  • Total pull request authors: 9
  • Average comments per issue: 0.8
  • Average comments per pull request: 0.21
  • Merged pull requests: 110
  • Bot issues: 0
  • Bot pull requests: 29
Past Year
  • Issues: 0
  • Pull requests: 74
  • Average time to close issues: N/A
  • Average time to close pull requests: 28 days
  • Issue authors: 0
  • Pull request authors: 8
  • Average comments per issue: 0
  • Average comments per pull request: 0.27
  • Merged pull requests: 27
  • Bot issues: 0
  • Bot pull requests: 15
Top Authors
Issue Authors
  • portableant (40)
Pull Request Authors
  • portableant (74)
  • ostafinskim (59)
  • dependabot[bot] (36)
  • JamieC24 (24)
  • AlanJIsaacson (5)
  • sean-dunwoody (4)
  • gtrinkwon (3)
  • o-s-warren (2)
  • ChrisButterworth (2)
Top Labels
Issue Labels
Pull Request Labels
dependencies (35) no-pr-activity (29) javascript (26) php (6)

Dependencies

.github/workflows/broken-links.yml actions
  • fitzwilliammuseum/broken-link-checker 1.0.0 composite
.github/workflows/lighthouse.yml actions
  • actions/checkout master composite
  • actions/upload-artifact master composite
  • foo-software/lighthouse-check-action master composite
  • foo-software/lighthouse-check-status-action master composite
.github/workflows/php.yml actions
  • actions/cache v2 composite
  • actions/checkout v2 composite
.github/workflows/stale.yml actions
  • actions/stale v5 composite
package-lock.json npm
  • 1202 dependencies
package.json npm
  • ansi-regex ^6.0.1 development
  • async ^3.2.4 development
  • axios ^0.27.2 development
  • bootstrap ^5.2.0 development
  • cross-env ^7.0.3 development
  • glob-parent ^6.0.2 development
  • is-svg ^4.3.2 development
  • jquery ^3.6.0 development
  • laravel-mix ^6.0.49 development
  • laravel-mix-purgecss ^6.0.0 development
  • lodash ^4.17.21 development
  • node-forge ^1.3.1 development
  • nth-check ^2.1.1 development
  • object-path >=0.11.8 development
  • postcss ^8.4.16 development
  • resolve-url-loader ^5.0.0 development
  • sass ^1.54.5 development
  • sass-loader ^13.0.2 development
  • serialize-javascript ^6.0.0 development
  • ssri ^9.0.1 development
  • url-parse ^1.5.10 development
  • vue-template-compiler ^2.7.9 development
  • websocket-extensions >=0.1.4 development
  • @popperjs/core ^2.11.6
  • @xmldom/xmldom ^0.8.2
  • autoprefixer ^10.4.8
  • clean-css ^5.3.1
  • leaflet-iiif ^3.0.0
  • minimist >=1.2.6
  • pannellum ^2.5.6
  • popper.js ^1.16.1
  • super-tiny-icons ^0.4.0
  • universalviewer ^4.0.8
  • vanilla-cookieconsent ^2.8.5
composer.json packagist
  • barryvdh/laravel-ide-helper ^2.12.3 development
  • fakerphp/faker ^1.20.0 development
  • mockery/mockery ^1.5.0 development
  • nunomaduro/collision ^6.2 development
  • phpunit/phpunit ^9.5.22 development
  • sven/artisan-view ^3.5 development
  • alaouy/youtube ^2.2.5
  • arcanedev/laravel-markdown ^6.0
  • atymic/twitter ^3.1
  • codeat3/blade-fluentui-system-icons ^1.30.1
  • conedevelopment/blade-filters ^1.0
  • diglactic/laravel-breadcrumbs ^v8.0.0
  • elasticsearch/elasticsearch ^7.17.0
  • ext-iconv *
  • ext-intl *
  • ext-json *
  • fitzwilliammuseum/instagram-php-scraper master
  • fitzwilliammuseum/maps master
  • fruitcake/laravel-cors ^3.0.0
  • gmostafa/php-graphql-client ^1.13
  • guzzlehttp/guzzle ^7.4.5
  • imagekit/imagekit ^2.0.0
  • imliam/laravel-blade-helper ^1.4.3
  • jmikola/geojson ^1.1.1
  • laravel/framework ^9.25
  • laravel/tinker ^2.7.2
  • laravel/ui ^3.4.6
  • laravelcollective/html ^6.3
  • mews/purifier ^3.3.8
  • olssonm/l5-very-basic-auth ^6.7
  • owenvoke/blade-fontawesome ^2.0
  • php ^8.0|^8.1
  • phpclassic/php-shopify ^v1.1.24
  • phpfastcache/phpfastcache ^9.1.2
  • predis/predis ^1.1.10
  • psr/cache ^3.0
  • rebing/graphql-laravel ^8.3
  • solarium/solarium ^6.2.6
  • spatie/laravel-feed ^4.1.4
  • spatie/laravel-googletagmanager ^2.6.6
  • spatie/laravel-ignition ^1.3.1
  • spatie/laravel-missing-page-redirector ^2.9.2
  • spatie/laravel-responsecache ^7.4.1
  • spatie/laravel-sitemap ^6.2.0
  • symfony/cache ^6.1.3
  • symfony/http-kernel ^6.2.x-dev
  • upthemedia/xss-protection ^0.0.8
  • xantios/mimey ^2.2.0
composer.lock packagist
  • 193 dependencies