JabRef / JabRefOnline

https://www.jabref.org
MIT License
31 stars 9 forks source link

JabRefOnline

This repository contains the source of the JabRef homepage.

Servers

Getting started

The simplest way to start is by opening this project in Gitpod.

Now you can start the server by using pnpm dev.

If you use Visual Studio Code, you might also want to activate automatic tasks which would then be run whenever you open the project and run the usual commands to get you running in no time. For this, open the command palette (Shift + Cmd + P) and choose "Tasks: Manage Automatic Tasks in Folder". Then accept "Allow Automatic Tasks in Folder". Now close and re-open the workspace.

Commands

Command Description
pnpm install Install project dependencies and generate code.
pnpm dev Start Nuxt server in development mode with hot reloading enabled. Listen on http://localhost:3000. The GraphQL API is then accessible at http://localhost:3000/api
pnpm test Execute all tests. Pass -u to update all snapshots.
pnpm build Build the nuxt.js web application for production.
pnpm start Start the production server built by pnpm build (for testing purposes).
pnpm prisma:studio Explore data in the database using a visual editor.
pnpm storybook Start Storybook in your browser.

Workflow for editing the database schema

  1. Prototype your new feature by making the necessary changes to schema.prisma.
  2. Run pnpm prisma:push to push the changes to the local database.
  3. Iterate until feature is ready.
  4. Run pnpm prisma:migrate:dev to generate new migration based on the schema changes.

See Prisma documentation for more details.

UI workflow: Storybook

As the primary UI development flow, we use Storybook which allows developing UI components in isolation without the need to start the whole application. Storybook uses so-called stories. Each story represents a single visual state of a component. For each component its stories should be placed in the same directory, with the suffix .stories.ts appended. For example,

components
│   Button.vue
│   Button.stories.ts

To start developing with Storybook, simply run pnpm storybook, which opens Storybook in the browser.

An up-to-date version of all Storybook components can be found online.

Backend: Overall Structure

Directories

Recommended VS Code and Browser extensions

Technologies used

Conventions

References

Sponsors

Thanks to Chromatic for providing the visual testing platform that helps us review UI changes and catch visual regressions.