Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/bumi/mshauri

Questionnaire and Recommendations app currently providing information about software engineering best practices
https://github.com/bumi/mshauri

questionnaire ruby rwanda software-engineering

Last synced: 9 days ago
JSON representation

Questionnaire and Recommendations app currently providing information about software engineering best practices

Awesome Lists containing this project

README

        

# Mshauri - questionnaires and recommendations

Mshauri is the questionnaire application used for [tech-guide.rw](https://www.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.

## Requirements

- 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)

## Installation

1) Install the bundle

```bash
bundle install
```
2) Setup your database

Edit your database configuration if required
```bash
vim config/database.yml
```
Create, migrate and seed the database. This also loads the question and reocmmendation content from `/data`
```bash
rake db:setup
```

## Usage

Run the server

```bash
rails server
```

Open [http://localhost:3000](http://localhost:3000)

## Contributing

Feedback and pull requests are very welcome!

The project uses [eslitn](https://github.com/eslint/eslint) for code linting.

```bash
node_modules/.bin/eslint --ext .js,.vue app/javascript/ --fix # auto fix
```

The project uses [rubocop](https://github.com/rubocop-hq/rubocop) for code linting.

```rb
bundle exec rubocop
bundle exec rubocop -a # auto fix
```

## Content

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.

## Questions

Please let us know if you have questions or need any help:

[email protected]