Skip to content

kitsteam/groupwriter-backend

 
 

Repository files navigation

GroupWriter: Backend

Yjs-backend with custom extensions, build on top of hocuspocus: https://tiptap.dev/docs/hocuspocus/introduction

Setup

Development

docker compose build
docker compose up -d

Migrations:

  Create a migration from changes in Prisma schema, apply it to the database, trigger generators (e.g. Prisma Client)
  $ npx prisma migrate dev

  Reset all migrations
  $ npx prisma db push --force-reset

Start the server:

docker compose exec app npm run start:dev

https://www.prisma.io/docs/orm/prisma-migrate/understanding-prisma-migrate

Options / ENV Variables

  • PORT: Port
  • DATABASE_URL: Database host
  • OBJECT_STORAGE_BUCKET: Bucket where to store uploads. The API needs to be s3-compatible.
  • OBJECT_STORAGE_SCHEME: Schema for object storage, e.g. http:// or https://
  • OBJECT_STORAGE_HOST: Storage host, e.g. a container name
  • OBJECT_STORAGE_PORT: Port for object storage
  • OBJECT_STORAGE_REGION: Region for object storage, e.g. local
  • OBJECT_STORAGE_USER: User for object storage
  • OBJECT_STORAGE_PASSWORD: Password for object storage
  • VAULT_ENCRYPTION_KEY_BASE64: Encryption key for the object storage, as every single item is encrypted. Needs to have a length of exactly 32 chars.
  • FEATURE_REMOVE_DOCUMENTS_TOGGLE: Activate cleanup of inactive / old texts. Defaults to false.
  • FEATURE_REMOVE_DOCUMENTS_MAX_AGE_IN_DAYS: Days after which inactive texts should be deleted. Defaults to 720.

Testimonials / Sponsors

kits is a project platform hosted by a public institution for quality development in schools (Lower Saxony, Germany) and focusses on digital tools and media in language teaching. GroupWriter can be found on https://kits.blog/tools and can be used by schools for free.

Logos and text provided with courtesy of kits.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages

  • TypeScript 96.6%
  • Dockerfile 2.2%
  • Other 1.2%