{"id":24805373,"url":"https://github.com/viadee/sonarquest","last_synced_at":"2025-10-13T06:32:25.482Z","repository":{"id":24239828,"uuid":"100949721","full_name":"viadee/sonarQuest","owner":"viadee","description":"A playful approach to refactoring code smells","archived":false,"fork":false,"pushed_at":"2023-03-15T09:36:18.000Z","size":44682,"stargazers_count":114,"open_issues_count":103,"forks_count":28,"subscribers_count":18,"default_branch":"master","last_synced_at":"2024-04-24T19:51:23.917Z","etag":null,"topics":["adventure","angular","cleancode","gamification","java","rpg","sonarqube","spring"],"latest_commit_sha":null,"homepage":"https://www.viadee.de/sonarquest","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/viadee.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-08-21T12:23:40.000Z","updated_at":"2024-04-19T20:04:17.000Z","dependencies_parsed_at":"2024-10-16T18:11:35.927Z","dependency_job_id":null,"html_url":"https://github.com/viadee/sonarQuest","commit_stats":null,"previous_names":[],"tags_count":30,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/viadee%2FsonarQuest","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/viadee%2FsonarQuest/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/viadee%2FsonarQuest/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/viadee%2FsonarQuest/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/viadee","download_url":"https://codeload.github.com/viadee/sonarQuest/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":236309796,"owners_count":19128390,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["adventure","angular","cleancode","gamification","java","rpg","sonarqube","spring"],"created_at":"2025-01-30T07:18:11.003Z","updated_at":"2025-10-13T06:32:17.592Z","avatar_url":"https://github.com/viadee.png","language":"TypeScript","readme":"![SonarQuest-Banner](docs/images/sonarquest-banner.png)\r\n\r\n\r\n[![Continuous Integration](https://github.com/viadee/sonarQuest/actions/workflows/sonarquest-ci.yml/badge.svg?branch=master)](https://github.com/viadee/sonarQuest/actions/workflows/sonarquest-ci.yml)\r\n[![](https://img.shields.io/github/release-pre/viadee/sonarquest.svg)](https://github.com/viadee/sonarQuest/releases) \r\n[![](https://img.shields.io/github/license/viadee/sonarquest.svg)](https://github.com/viadee/sonarQuest/blob/master/LICENSE)\r\n[![](https://img.shields.io/github/stars/viadee/sonarQuest.svg)](https://github.com/viadee/sonarQuest/stargazers) \r\n[![](https://img.shields.io/github/forks/viadee/sonarQuest.svg)](https://github.com/viadee/sonarQuest/network/members)\r\n[![](https://img.shields.io/github/contributors/viadee/SonarQuest.svg)](https://github.com/viadee/sonarQuest/graphs/contributors) \r\n[![](https://img.shields.io/github/last-commit/viadee/SonarQuest.svg)](https://github.com/viadee/sonarQuest/commits/master) \r\n\r\n**SonarQuest** is a gamification tool extending [SonarQube](https://www.sonarqube.org/),\r\nthat allows developers to get rid of their code quality issues in a playful way\r\nby solving quests and adventures, earning rewards for refactoring code smells \r\nand optimization.\r\n\r\n## Quick Start\r\n\r\n### Install\r\nStart your adventure with your team in 3 steps via Docker:\r\n1. Clone this repo in a destination of your choice.\r\n2. Run SonarQuest using Docker in the root project folder *sonarquest*: `docker-compose up` .\r\n(_This will install the latest Docker images_)\r\n4. We added some initial users to play around with.\r\n   Open SonarQuest at http://localhost:4200 and login with the following credentials:\r\n\r\n| Role               | Username | Password |\r\n|--------------------|----------|----------|\r\n| Admin              | admin    | test     |\r\n| Game Master        | gm       | test     |\r\n| Developer (Player) | dev      | test     |\r\n\r\nDon't want to use Docker? Check out the [Installation Guide](https://github.com/viadee/sonarQuest/wiki/Installation)\r\nin our wiki!\r\n\r\n### Start the game\r\n\r\n1. Log in as admin.\r\n2. Connect to any reachable SonarQube server and check the connection.\r\n3. Get all the projects on SonarQube into SonarQuest and make a single project playable as a \"world\".\r\n4. Assign a game master and players to this world.\r\n5. Log in as predefined game master or add a new game master.\r\n6. Get all issues aka tasks for the current world.\r\n7. Create quests by writing a short story and add tasks to make them solvable.\r\n8. *(Optionally)* create an adventure and add quests to it to support a whole story.\r\n9. Get your players to log in (all pre-made avatars have the password test and their username as login)\r\n   and take on your quests by selecting to _fight_ in a quest and to _fight_ issues in the quests.\r\n10. Login in as a game master from time to time to synchronize SonarQuest with the SonarQube project to have\r\n    SonarQuest pay out rewards to your players!\r\n\r\nHave fun!\r\n\r\nInterested in getting to know SonarQuest more intense?\r\nCheck out our [GitHub wiki](https://github.com/viadee/sonarQuest/wiki)!\r\n\r\n## Contributing\r\nInterested in joining our adventure of making code refactorings much more fun? We are glad that you are here!\r\nWe are looking for enthusiasts and pioneers who want to be part of a motivated community,\r\nregardless of whether you are designer, an idea generator or - of course - a developer: We welcome you!\r\nCheck out the [Contributing Guide](CONTRIBUTING.md) to get started.\r\n\r\n![Example](docs/images/screenshot.jpg)\r\n\r\n## Support\r\nYou have still open questions? Feel free to open an issue in GitHub. We will answer as fast as possible.\r\n\r\n\r\n## Used frameworks\r\nSonarQuest is a web-based app with an Angular UI application and Spring Boot as backend server.\r\n\r\n* [Angular](https://angular.io) (licensed under MIT)\r\n* [Angular Material](https://material.angular.io) (licensed under MIT)\r\n* [Teradata Covalent](https://teradata.github.io/covalent/#/) (licensed under MIT)\r\n* [RPG-Awesome](https://nagoshiashumari.github.io/Rpg-Awesome/) (licensed under BSD 2-Clause)\r\n* [Node.js](https://nodejs.org/en/)\r\n* [express.js](https://expressjs.com/) (licensed under MIT)\r\n* [Spring Boot](https://spring.io/) (licensed under Apache License 2.0)\r\n\r\n\r\n## License\r\n\r\nThis project is licensed under the BSD 3-Clause \"New\" or \"Revised\" License - see the [LICENSE](LICENSE) file for details.\r\nThe licenses of the reused components of the SonarQuest server can be found in [Licenses SonarQuestServer](sonarQuest-backend/src/main/resources/licenses/licenses.json).\r\n\r\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fviadee%2Fsonarquest","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fviadee%2Fsonarquest","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fviadee%2Fsonarquest/lists"}