SKRID Platform is a web-based interface for querying and exploring musical patterns stored in a graph database. This repository contains only the frontend of the platform.
The backend (query compilation, result processing, etc.) is maintained in a separate repository: ➡️ SKRID Backend Repository
The client (vueJS implementation of the interface) is maintained in a separate repository: ➡️ SKRID Client Repository
- Communication with a Python backend via REST endpoints
- Interface for melodic and rhythmic search via interactive piano interface input
- Flexible contour search
- Display of musical score collection
.
├── assets/
│ ├── acoustic_grand_piano/ # Sounds for piano keys
│ ├── data/ # Musical data used by the app
│ ├── public/ # Images and static assets
│ ├── scripts/ # Client-side JS
│ └── styles/ # CSS files
├── docs/ # Documentation (when generated)
├── config/ # Neo4j configuration (legacy)
├── views/ # HTML files
│
├── index.js # Main entry point (Node.js server)
├── jsdoc.json # JSDoc config
├── package.json # npm dependencies
├── loadAllDB.sh # Load data into Neo4j
├── README.md
└── TODO.md
Follow these instructions to deploy the SKRID frontend.
git clone --depth=1 https://gitlab.inria.fr/skrid/frontend.git
cd frontendnpm installCopy the example .env file and adjust the values:
cp .env.example .envTo get the MEI files needed to display the previews, run the script install_data.sh:
./install_data.shThen you can generate the other formats (see the data's README).
Run the script install_client.sh:
./install_client.shThis will clone the client repository, build it, and place the files to the right place.
node index.jsThe website will be available at localhost:3000.
Follow these instructions to develop or debug the platform.
git clone https://gitlab.inria.fr/skrid/frontend.git
cd frontendnpm installCopy the example .env file and adjust the values:
cp .env.example .envTo get the MEI files needed to display the previews, run the script install_data.sh:
./install_data.shThen you can generate the other formats (see the data's README).
node index.jsOr, for development (auto-restart on edit):
npm run nodemon
To see the website, launch the vueJS client
This frontend communicates with the backend via REST API calls. The backend must be installed and running separately.
By default, the frontend expects the backend to be available at http://localhost:5000.
Endpoint URLs and port can be configured in
index.js
Generate developer documentation with:
npm run generate-docsOpen docs/index.html in your browser.
- If you edit
index.js, restart the server to apply changes (or usenodemon).
For database setup and ingestion scripts, see the backend project.
- cors package was install for development, but it should not be used in production. It is needed for development in order to connect the vueJS client development server to the frontend server.
See TODO.md for planned features and known issues.
This project is distributed under the MIT License.
See LICENSE for details.
(Copyright © 2023–2025 IRISA)