Home

Awesome

mindwendel

Workflow Status Badge

Create a challenge. Ready? Brainstorm. mindwendel helps you to easily brainstorm and upvote ideas and thoughts within your team. Built from scratch with Phoenix.

Features

Use-cases

Brainstorm ...

Getting Started

mindwendel can be run just about anywhere. So checkout our Installation Guides for detailed instructions for various deployments. The easiest way to deploy and run mindwendel is using our own docker-compose-prod.yml file. For instructions, see Setup for Production. If you want to contribute, jump ahead to Development!

Contributing

To get started with a development installation of mindwendel, follow the instructions below.

mindwendel is built on top of:

Workflow

  1. Fork it (https://github.com/mindwendel/mindwendel/fork)
  2. Create your feature branch (git checkout -b fooBar)
  3. Commit your changes (git commit -am 'Add some fooBar')
  4. Push to the branch (git push origin fooBar)
  5. Create a new Pull Request

Development

  docker compose exec app mix phx.server

Localization

You can extract new strings to translate by running:

mix gettext.extract --merge

Testing

Setup for Production

Note

Build release and production docker image

Formatting

We are using Elixir's built-in formatter.

Feature flags

Privacy and automatic data removal

Mindwendel includes a job runner that deletes old brainstormings after a defined number of days. This can be controlled with the setting MW_FEATURE_BRAINSTORMING_REMOVAL_AFTER_DAYS, which can be set to for instance to 30.

File Storage

File storage is available through an s3 compatible object storage backend. An encryption key (VAULT_ENCRYPTION_KEY_BASE64) needs to be generated before, e.g.:

iex
32 |> :crypto.strong_rand_bytes() |> Base.encode64()

or

openssl rand -base64 32

Then, object storage and the vault key need to be set:

OBJECT_STORAGE_BUCKET: mindwendel
OBJECT_STORAGE_SCHEME: "http://"
OBJECT_STORAGE_HOST: minio
OBJECT_STORAGE_PORT: 9000
OBJECT_STORAGE_REGION: local
OBJECT_STORAGE_USER: ...
OBJECT_STORAGE_PASSWORD: ...
VAULT_ENCRYPTION_KEY_BASE64: ...

There is an example given inside the docker-compose.yml with a docker compose minio setup.

To deactivate file storage, use MW_FEATURE_IDEA_FILE_UPLOAD (defaults to true) and set it to false.

Brainstorming teasers

If you want to display some teasers and help for your brainstorming, use MW_FEATURE_BRAINSTORMING_TEASER and set it to true.

Localization

Currently, there are two language files available, german (de) and english (en). To set the default_locale, you can set MW_DEFAULT_LOCALE. The default is english.

Testimonials

<img src="https://www.nibis.de/img/nlq-medienbildung.png" align="left" style="margin-right:20px"> <img src="https://kits.blog/wp-content/uploads/2021/03/kits_logo.svg" width=100px align="left" style="margin-right:20px">

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. mindwendel is used in workshops to activate prior knowledge, and collect and structure ideas. In addition, mindwendel can be found on https://kits.blog/tools and can be used by schools for free. More info on how to use it can be found in this post https://kits.blog/digitale-lesestrategien-brainstorming/

Logos and text provided with courtesy of kits.

Acknowledgements

Image Licenses