Skip to content

Collaborative surveys, questionnaires, brainstorming, and word clouds - Fork of ladigitale/digistorm

License

Notifications You must be signed in to change notification settings

DeutscheModelUnitedNations/digistorm

Digistorm

Digistorm is an online application for creating collaborative surveys, questionnaires, brainstorming sessions, and word clouds.

For word cloud display, Digistorm uses Vue Wordcloud, published under the MIT license.

This project is published under the GNU AGPLv3 license. Except for Roboto Slab and Material Icons fonts (Apache License Version 2.0) and Mona Sans Expanded font (SIL Open Font License 1.1).

Getting Started

Prerequisites

  • Node.js (v18 or higher recommended)
  • npm
  • Redis database

Installation

npm install

Development Server (localhost:3000)

npm run dev

Production Build and Server

npm run prod

Using PM2

npm run build
pm2 start ecosystem.config.cjs --env production

Using Docker

docker compose up -d

Environment Variables

Create a .env file in the project root directory with the following variables:

Variable Description Default
DOMAIN Protocol + domain (e.g., https://digistorm.app) - only used in production -
PORT Local server port 3000
REVERSE_PROXY Use a reverse proxy (0 or 1) 0
NODE_CLUSTER Use Node.js cluster mode (0 or 1) 0
EARLY_HINTS Enable server early hints and 103 status code (0 or 1) 0
DB_HOST Redis database server IP address -
DB_PWD Redis database password -
DB_PORT Redis database port 6379
SESSION_KEY Express Session secret key -
SESSION_DURATION User session duration in milliseconds -
EMAIL_HOST SMTP host for sending emails -
EMAIL_ADDRESS Email address for sending emails -
EMAIL_PASSWORD Email account password -
EMAIL_PORT SMTP port -
EMAIL_SECURE Use secure connection (true or false) -
AUTHORIZED_DOMAINS Authorized domains for server API (e.g., ladigitale.dev,example.com) *
ADMIN_PASSWORD Password for /admin page access -
VITE_UPLOAD_LIMIT Maximum file upload size in MB 5
VITE_STORAGE File storage type (fs or s3) fs
VITE_S3_PUBLIC_LINK Public link to S3 object container contents -
S3_SERVER_TYPE S3 server type (aws or minio) aws
S3_ENDPOINT S3 endpoint URL -
S3_ACCESS_KEY S3 access key -
S3_SECRET_KEY S3 secret access key -
S3_REGION S3 bucket region -
S3_BUCKET S3 bucket name -
S3_MAX_SOCKETS Maximum sockets for S3 client httpsAgent -
ENCRYPTION_KEY Key to decrypt Digidrive data (only needed if Digidrive is used) -
VITE_LEGAL_TERMS_LINK Link to legal terms page -

Tech Stack

  • Frontend: Vue.js 3 with Vike (SSR framework)
  • Backend: Node.js with Express
  • Database: Redis

Demo

https://digistorm.app

Credits

Support the Original Project

Original Repository

This is a fork of the original project hosted at: https://codeberg.org/ladigitale/digistorm

About

Collaborative surveys, questionnaires, brainstorming, and word clouds - Fork of ladigitale/digistorm

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •