All Projects → mindwendel → mindwendel

mindwendel / mindwendel

Licence: AGPL-3.0 License
Create a challenge. Ready? Brainstorm. mindwendel helps you to easily brainstorm and upvote ideas and thoughts within your team.

Programming Languages

elixir
2628 projects
HTML
75241 projects
PLpgSQL
1095 projects
javascript
184084 projects - #8 most used programming language
SCSS
7915 projects
Dockerfile
14818 projects
shell
77523 projects

Projects that are alternatives of or similar to mindwendel

plug rails cookie session store
Rails compatible Plug session store
Stars: ✭ 93 (+322.73%)
Mutual labels:  phoenix, elixir-phoenix
Drab
Remote controlled frontend framework for Phoenix.
Stars: ✭ 833 (+3686.36%)
Mutual labels:  phoenix, elixir-phoenix
Papercups
Open-source live customer chat
Stars: ✭ 4,554 (+20600%)
Mutual labels:  phoenix, elixir-phoenix
pryin
PryIn is an Application Performance Monitoring platform for your Elixir/Phoenix application.
Stars: ✭ 25 (+13.64%)
Mutual labels:  phoenix, elixir-phoenix
Shorten api tutorial
🔗How to make a link shortener using Elixir, Phoenix and Mnesia
Stars: ✭ 60 (+172.73%)
Mutual labels:  phoenix, elixir-phoenix
Phoenix slime
Phoenix Template Engine for Slime
Stars: ✭ 286 (+1200%)
Mutual labels:  phoenix, elixir-phoenix
Awesome Phoenix
🔥 Collection of awesome open-source apps made with Phoenix Framework
Stars: ✭ 481 (+2086.36%)
Mutual labels:  phoenix, elixir-phoenix
Elixirbooks
List of Elixir books
Stars: ✭ 1,021 (+4540.91%)
Mutual labels:  phoenix, elixir-phoenix
Phoenix In Action
Code snippets and examples from the book Phoenix in Action from Manning and Geoffrey Lessel
Stars: ✭ 60 (+172.73%)
Mutual labels:  phoenix, elixir-phoenix
Phoenix Ecto Append Only Log Example
📝 A step-by-step example/tutorial showing how to build a Phoenix (Elixir) App where all data is immutable (append only). Precursor to Blockchain, IPFS or Solid!
Stars: ✭ 58 (+163.64%)
Mutual labels:  phoenix, elixir-phoenix
Veil
Simple passwordless authentication for your Phoenix apps
Stars: ✭ 153 (+595.45%)
Mutual labels:  phoenix, elixir-phoenix
Ecto morph
morph your Ecto capabilities into the s t r a t o s p h e r e !
Stars: ✭ 72 (+227.27%)
Mutual labels:  phoenix, elixir-phoenix
live dj
💿 Join or create video playlists to share a real-time experience with others! 🎧
Stars: ✭ 19 (-13.64%)
Mutual labels:  phoenix, elixir-phoenix
blog app
Phoenix 1.3 GraphQL
Stars: ✭ 19 (-13.64%)
Mutual labels:  phoenix
pretty print formatter
Pretty Print Formatter for Elixir Logger module -- Colorize Ecto's SQL ouput 🖌️
Stars: ✭ 22 (+0%)
Mutual labels:  phoenix
docker-predictionio
Docker container for PredictionIO-based machine learning services
Stars: ✭ 75 (+240.91%)
Mutual labels:  docker-container
elixir jobs
A job board to publish and find Elixir offers.
Stars: ✭ 83 (+277.27%)
Mutual labels:  phoenix
dart sass
An installer for sass
Stars: ✭ 54 (+145.45%)
Mutual labels:  phoenix
.oOo.
dot files configuration (macOS & Linux), surfingkeys / tmux / screen / ideavimrc / phoenix / etc.
Stars: ✭ 51 (+131.82%)
Mutual labels:  phoenix
gleam compile
Tiny hex package to make the development experience of using gleam in elixir (and especially phoenix projects) better.
Stars: ✭ 29 (+31.82%)
Mutual labels:  phoenix

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

  • 5 minute setup (It is not a joke)
  • Anonymously invite people to your brainstormings - no registration needed. Usernames are optional.
  • Easily create and upvote ideas, with live updates from your companions.
  • Cluster your ideas with custom labels
  • Preview of links to ease URL sharing
  • Export your generated ideas to html or csv (currently comma separated)
  • German & English Translation files
  • By default, brainstormings are deleted after 30 days to ensure GDPR compliancy.

Use-cases

Brainstorm ...

  • ... new business ideas
  • ... solutions for a problem
  • ... what to eat tonight
  • ...

Getting Started

mindwendel can be run just about anywhere. So checkout our Installation Guides for detailed instructions for various deployments.

Here's the TLDR:

  • Run mindwendel via Docker and reference your postgres database

    docker run -d --name mindwendel \
      -p 127.0.0.1:80:4000 \
      -e DATABASE_HOST="..." \
      -e DATABASE_PORT="5432" \
      -e DATABASE_SSL="false" \
      -e DATABASE_NAME="mindwendel_prod" \
      -e DATABASE_USER="mindwendel_db_user" \
      -e DATABASE_USER_PASSWORD="mindwendel_db_user_password" \
      -e SECRET_KEY_BASE="generate_your_own_secret_key_base_and_save_it" \
      -e URL_HOST="your_domain_to_mindwendel" \
      ghcr.io/mindwendel/mindwendel

NOTE: mindwendel requires a postgres database. You can use our docker-compose file to also install the postgres.

Contributing

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

mindwendel is built on top of:

Development

  • Startup docker-compose setup

    docker-compose up --build -d
  • Setup the database

    docker-compose exec app mix ecto.setup
  • Start the server

  docker-compose exec app mix phx.server

Testing

  • Startup docker-compose setup

    docker-compose up --build -d
  • Ensure your database is running and reset your database

    docker-compose exec app mix ecto.test.prepare
  • Run the test

    docker-compose exec app mix test

Production

  • Generate self-signed ssl sertificate for the postgres server on the host machine; the generated files are mounted into the docker container

    mkdir -p ./ca
    openssl req -new -text -passout pass:abcd -subj /CN=localhost -out ./ca/server.req -keyout ./ca/privkey.pem
    openssl rsa -in ./ca/privkey.pem -passin pass:abcd -out ./ca/server.key
    openssl req -x509 -in ./ca/server.req -text -key ./ca/server.key -out ./ca/server.crt
    chmod 600 ./ca/server.key
    test $(uname -s) = Linux && chown 70 ./ca/server.key
  • Duplicate and rename .env.default

    cp .env.prod.default .env.prod
  • Adjust all configs in .env.prod, e.g. database settings, ports, disable ssl env vars if necessary

  • Start everything at once (including a forced build):

    docker-compose --file docker-compose-prod.yml --env-file .env.prod up -d --build --force-recreate
  • Open the browser and go to http://${URL_HOST}

Note

  • The url has to match the env var URL_HOST; so http://localhost will not work when your URL_HOST=0.0.0.0

Build release and production docker image

  • Build the docker image based on our Dockerfile
    docker build -t mindwendel_prod .

Formatting

We are using Elixir's built-in formatter.

  • Check if the code is properly formatted
    mix format --check-formatted
  • Automatically format the code
    mix format

Environment Variables

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.

You can extract new strings to translate by running:

mix gettext.extract --merge

Contributing

  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

Testimonials

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].