Web-based interactive editor for creating, editing and visualizing research object crates.
Web-based fully-featured interactive editor for creating, editing, and visualizing research object crates. Built for inspecting, validating and manipulating RO-Crates, allowing you to get a deeper understanding of its content and structure.
NovaCrate is in active development, we are happy to receive feedback, feature requests and bug reports on the issues page.
NovaCrate can be used and deployed in multiple different ways. Currently, only the web version is in active development. You can access it directly here.
💡 If you have a special interest in the Desktop App or the Cloud Frontend, please get in contact.
Name | Status | Description | Notes |
---|---|---|---|
Standalone Web App | Active | Standalone Web App without a backend. Stores Crates in the local origin-private file system of the browser | Access here |
Desktop App | Concept | Tauri App with a local backend. Has full access to file system and can make use of arbitrary backend software. | Suitable backend already implemented. |
Cloud Frontend | Concept | NovaCrate is a frontend that can be used with any compatible backend solution, for example a cloud based service that hosts RO-Crates. This approach has not been explored yet due to lack of viable backend solutions. | See src/lib/backend/CrateServiceAdapter.ts for a list of methods that a backend adapter should implement |
NovaCrate is a frontend that can be used for any backend that hosts RO-Crates (an appropriate backend adapter must be implemented). This could be anything in the range from a simple file storage to a full REST Service for manipulating crates.
See src/lib/backend/CrateServiceAdapter.ts
for a list of methods that a backend adapter should implement. All of these methods can make use of backend resources or be supplemented locally.
NovaCrate currently does not include mechanisms for authentication, access control or concurrent access.
Once the prerequisites are met, run the following code to get started quickly:
npm install
npm run dev
This step might be necessary after fetching new commits and on the first installation.
npm install
This command starts NovaCrate in development mode. This enables hot reload but also increases response time.
npm run dev
Open http://localhost:3000 with your browser to see the result.
This command builds NovaCrate in the out
folder.
npm run build
The website can then be found in the out
folder. Use any web server for viewing. Local viewing:
npx serve@latest out
NovaCrate ships with end-to-end frontend tests that can be used to verify that the core functionality is working as expected. At the current time, the test coverage is relatively low due to the complexity of UI-based testing.
You can run the tests using:
npm run build && npm run serve
# In a different terminal:
npm run test
This project was first created as part of a bachelor thesis
Most of the structure of the editor and many implementation and design details are outlined in the bachelor thesis.
To summarize: This is a Next.js app. Pages are located in /app, components in /components, and anything else is probably in /lib.
Note: These screenshots are out of date.