Mshauri is the questionnaire application used for tech-guide.rw
tech-guide.rw is a software development questionnaire that provides individual recommendations
and ideas about software engineering best practices to improve your development workflow.
It's main features include: Collecting answers to certain questions and providing relevant answers/suggestions depending on the user's replies.
Currently it is used for "software engineering best practices", but the application can be used with any questions/content.
- Ruby 2.3.0 or newer
- Rails
- Postgres
- all ruby dependencies are described in the Gemfile (please refer to the changelog of this file to check for updates)
-
Install the bundle
bundle install
-
Setup your database
Edit your database configuration if required
vim config/database.yml
Create, migrate and seed the database. This also loads the question and reocmmendation content from
/data
rake db:setup
Run the server
rails server
Feedback and pull requests are very welcome!
The project uses eslitn for code linting.
node_modules/.bin/eslint --ext .js,.vue app/javascript/ --fix # auto fix
The project uses rubocop for code linting.
bundle exec rubocop
bundle exec rubocop -a # auto fix
All content is structured in yml files and can be found in /data
.
The data is loaded using the rake db:seed
task which runs the db/seeds.rb
file. The task can be run multiple times and will update existing data.
The questions and recommendations can be completely changed and used for different topics. Just make sure to respect the same structure in the YAML files.
Please let us know if you have questions or need any help: