https://github.com/coderbyheart/codedoor-challenges
Coding challenges for introducing TDD
https://github.com/coderbyheart/codedoor-challenges
Last synced: 9 months ago
JSON representation
Coding challenges for introducing TDD
- Host: GitHub
- URL: https://github.com/coderbyheart/codedoor-challenges
- Owner: coderbyheart
- License: mit
- Created: 2018-01-01T16:12:06.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2020-05-21T10:31:13.000Z (over 5 years ago)
- Last Synced: 2025-02-01T11:11:22.886Z (11 months ago)
- Language: JavaScript
- Homepage:
- Size: 305 KB
- Stars: 0
- Watchers: 3
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# [CodeDoor](http://codedoor.org/) TDD challenges
[](https://gitter.im/codedoor-challenges/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[](https://standardjs.com)
[](http://commitizen.github.io/cz-cli/)
[](https://travis-ci.org/coderbyheart/codedoor-challenges)
[](https://greenkeeper.io/)
[](https://snyk.io/test/github/coderbyheart/codedoor-challenges)
[](https://deepscan.io/dashboard/#view=project&pid=1628&bid=5737)
[](https://codeclimate.com/github/coderbyheart/codedoor-challenges/maintainability)
## How to get started with the challenges
Make sure you have a working development environment: an IDE, Node.JS 8.
- Fork and clone the repository.
- Install the dependencies: `npm i`
- Run the (failing) tests for the challenge.
- Implement the solution, until the tests pass.
- Feel free to add your own tests
- Commit the solution to your fork.
## Support
Please let me know if you want to start working on the first challenge, and join the [gitter channel](https://gitter.im/codedoor-challenges/Lobby), so I can support you. Alternatively you can [DM me on Twitter](https://twitter.com/coderbyheart/) or [report problems as issues](https://github.com/coderbyheart/codedoor-challenges/issues).
### Challenge 01: Pattern Converter
Running tests: `npx jest -w __test__/01`
Implement the solution in: `src/01/pattern-converter.js`
## About this project
This project contains JavaScript challenges which aim to introduce software craft concepts like [S.O.L.I.D. architecture](https://en.wikipedia.org/wiki/SOLID_-\(object-oriented_design\)) and [TDD](https://en.wikipedia.org/wiki/Test-driven_development).
I also show some common project defaults when writing JavaScript code (like linting).
- [standard](https://www.npmjs.com/package/standard) defines how the source code should be formatted. Use `npm run lint -- --fix` to automatically fix your source code formatting.
- [commitlint](http://marionebl.github.io/commitlint/) enforces a certain (parseable) format of commit messages.
- [greenkeeper](https://greenkeeper.io/) watches the dependencies and creates pull request if these are updated
- [Travis CI](https://travis-ci.org/) builds the project after every commit (in a real project, it would run the tests also)
- [Snyk](https://snyk.io/) monitors the source code for security issues
- [DeepScan](https://deepscan.io/) and [CodeClimate](https://codeclimate.com/) check the code-quality
- [.editorconfig](http://editorconfig.org/) configures the file formatting setting (indentation, line-endings) for all popular IDEs