The oroginal name was Wahldatenhelfer, later has been changed to Wahlgenial.
You may find in codebase wahldatenhelfer
, Wahlgenial
is for public.
- Ruby 2.4.2
- PostgreSQL 9.6 or later.
- copy
config/database.yml.example
intoconfig/database.yml
like thiscp config/database.yml.example config/database.yml
$ bundle install
$ rails db:setup
$ yarn
$ ./bin/webpack-dev-server
- in different terminal
$ rails s
- and then go to
http://localhost:3000
WAHLDATENHELFER uses many services:
- Mailgun email service to send notifications.
- RailsAdmin rails content management
- Google analytics web analytics service
- Amazon Web Services cloud services platform for files storage.
That ☝️ leads to configure the following 👇 env variables:
- RailsAdmin authentication:
ENV["ADMIN_USER"]
ENV["ADMIN_PASS"]
- MAILGUN
ENV['MAILGUN_SMTP_PORT']
ENV['MAILGUN_SMTP_SERVER']
ENV['MAILGUN_SMTP_LOGIN']
ENV['MAILGUN_SMTP_PASSWORD']
- Google analytics tracker
ENV['GOOGLE_TRACKER_ID']
- AWS:
ENV['AWS_ACCESS_KEY_ID'],
ENV['AWS_SSECRET_ACCESS_KEY'],
ENV['AWS_BUCKET_NAME']
Through installation, after running $ rails db:setup
, the records should be created on development environment automatically, otherwise you can run $ rails db:seed
to add pre-created content (which is only for development).
We use JavaScript Standard Style which is JavaScript style guide. You can use eslint plugin for your editor.
To check code validation run: $ yarn lint
or for auto fixing $ yarn lint-fix
We use rspec, factory_bot and guard-rspec for tests.
Run $ rspec
for running tests. To work in file-change-watch mode, run $ guard
Run $ yarn stroybook
for storybook. Stories are located in /app/javascript/stories/
Webpacker is used as a pipeline for JavaScript, to run the development server, run $ webpack-dev-server
Currently the only icons available for icon_name
field are:
- decisions
- infos
- questions
- unknown
In Sass
files, relative paths should be used to point to image assets Ex. background: url('../javascript/images/arc.png')
instead of background: url('images/arc.png')
(path is relative to application.sass)