{"id":13623799,"url":"https://github.com/tddbin/tddbin-frontend","last_synced_at":"2025-04-15T20:32:27.624Z","repository":{"id":27491055,"uuid":"30971187","full_name":"tddbin/tddbin-frontend","owner":"tddbin","description":"The source of TDDbin. -","archived":false,"fork":false,"pushed_at":"2022-12-30T17:53:02.000Z","size":9447,"stargazers_count":226,"open_issues_count":27,"forks_count":37,"subscribers_count":10,"default_branch":"master","last_synced_at":"2024-04-15T15:19:26.794Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://tddbin.com","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"bitfinexcom/bitfinex-api-go","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tddbin.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-02-18T15:24:44.000Z","updated_at":"2024-02-23T19:43:45.000Z","dependencies_parsed_at":"2023-01-14T06:52:20.158Z","dependency_job_id":null,"html_url":"https://github.com/tddbin/tddbin-frontend","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tddbin%2Ftddbin-frontend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tddbin%2Ftddbin-frontend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tddbin%2Ftddbin-frontend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tddbin%2Ftddbin-frontend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tddbin","download_url":"https://codeload.github.com/tddbin/tddbin-frontend/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223684804,"owners_count":17185714,"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":[],"created_at":"2024-08-01T21:01:35.780Z","updated_at":"2024-11-08T12:30:21.463Z","avatar_url":"https://github.com/tddbin.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"[![Build Status](https://travis-ci.org/tddbin/tddbin-frontend.svg)](https://travis-ci.org/tddbin/tddbin-frontend)\n[![Dependency Status](https://david-dm.org/tddbin/tddbin-frontend.svg)](https://david-dm.org/tddbin/tddbin-frontend)\n[![devDependency Status](https://david-dm.org/tddbin/tddbin-frontend/dev-status.svg)](https://david-dm.org/tddbin/tddbin-frontend#info=devDependencies)\n[![Traffic stats](https://img.shields.io/badge/analytics-plausible-%236574cd.svg)](https://plausible.io/tddbin.com)\n[![Codacy Badge](https://www.codacy.com/project/badge/52205d40abd9463b9f5dca236b12b997)](https://www.codacy.com/public/wk_2448/tddbin-frontend)\n\n# TDDbin.com Frontend\n\n[![Join the chat at https://gitter.im/tddbin/tddbin-frontend](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/tddbin/tddbin-frontend?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge)\n\nThis project contains all the UI stuff for [TDDbin], it is runnable separately\nwithout any backend and aims to provide all components modularly.\nPlease [get involved on trello][trello] and [vote][trello] or [add ideas, comments, etc.][trello].\nThe highest ranked ideas will be the priority for us to implement.\n\n\n# Development\n\n## The short version using Nix (light-weight docker)\n\nRun `nix-shell -p nodejs-7_x` and a nix-shell with Node.js installed will open.\nNow, continue in the next chapter.\n\n## The short version\n\nIn your shell: \n- `export KATAS_SERVICE_URL=https://katas.service.domain.local`, the domain where to find the katas locally \n  (is `katas.tddbin.com` when deployed)\n- `git clone git@github.com:tddbin/tddbin-frontend.git; cd tddbin-frontend; npm install; npm run build; npm start`  \n\n## The long version\n\nIn order to run this project locally make sure you have at least nodejs 0.10 installed \n- `node --version` should say so\nand do the following:\n- `git clone git@github.com:tddbin/tddbin-frontend.git` clone the repo on your machine\n- `cd tddbin-frontend` go into the directory where the project was cloned into\n- `npm install` installs all dependencies into the `node_modules` directory\n- `npm test` runs all the tests of the project\n\nNow you can \n- `export KATAS_SERVICE_URL=http://katas.service.domain.local`, the domain where to find the katas locally \n  (live it has this value `katas.tddbin.com`)\n- `npm run build` for the first time and\n- `npm start` starts [watchify] which continuously updates the built files \n\nand open the built version in the browser. Be sure to open the `dist` directory \nthrough a URL served by a local web server, such as an apache, nginx, etc.\n\n## Using the katas service\n\nAll pre-built katas are hosted in [katas-service] repo. Which gets deployed to \nhttp://katas.tddbin.com from where all the katas can be loaded and which can be updated\nindependently, micro-service style :).   \n\n### Do I need it?\n\nIf you want to work on the katas-service repo and want to load the katas into \ntddbin you might want to set up both repos to work with each other.  \nOther than that there is no real need to set up katas-service.\n\n### How to set it up\n\nYou don't need the [katas-service] to run locally, tddbin works also fully-functional without it.  \nIf you also want to use the [katas-service] locally, clone the repo and make it\navailable so that the env variable `KATAS_SERVICE_URL` points to where to find the `proxy.html`\nserved by the built katas-service.\n\n## Coding style\n\nThe coding style is checked by running `npm run lint` using [jsxcs] a JSX-enabled fork of \n[jscs].\nThe applied style derives from the [google coding style][1]\nas contained also in [jscs].\n\n## How to contribute\n\nIn order to contribute please provide a pull request, add a description to what your code does and how it is useful.\nIt will be commented, discussed, maybe you need to adapt things and then it might be merged.\n\n# Test runners\n\nThe execution of tests takes place in a separate component, which can be hooked in\nwhere needed.\nThis way adding a new test runner (e.g. qunit, tap, etc.) will be easy as long as it\ncomplies to the API that a test runner has to provide.\n\n## Jasmine Runner\nIt is in this repo, but is not finished.\nDue to jasmine's stubborn architecture that doesn't allow to reinstanciate it for a new test run\nas it would be needed for a single page app I just left it ... it's basically unusable :(.\nTo try what it currently can do run the examples/test-runner/jasmine.html in your browser.\n\n## Mocha Runner\nThe mocha runner is integrated and will most probably become the default runner.\nFor an example navigate in your browser to the examples/test-runner directory.\n\n### Assertion APIs\nMocha is assertion API agnostic, it brings it's own assert() function by default, that can be used.\nBy adding plugins various other styles can be provided. See below which ones come with it.\n \n#### Jasmine-style (currently not working, see code)\nIt is enhanced with [referee], which provides jasmine-style expect methods.\nThe tests can be written the same way as with jasmine (for the biggest part) - at least\nall standard matchers are available, for details see [the docs][2].\n\n#### Should-style\nAlso should-style assertions can be used. Thanks to [Roman Liutikov][3]\npointing that out, it was added. On how to use them see the [should.js documentation][4].\n\n## Custom runner\nThis architecture allows to add any kind of runner now.\nThe easiest way for now is to duplicate the mocha runner and the example\nand get one up and file it as a pull request.\n\n[TDDbin]: http://tddbin.com\n[katas-service]: https://github.com/tddbin/katas-service\n[watchify]: https://github.com/substack/watchify\n[referee]: https://github.com/busterjs/referee\n[jscs]: https://github.com/jscs-dev/node-jscs\n[trello]: https://trello.com/b/FW1gUVxe/tddbin-com\n[jsxcs]: https://github.com/orktes/node-jsxcs\n[1]: https://github.com/jscs-dev/node-jscs/blob/master/presets/google.json\n[2]: http://docs.busterjs.org/en/latest/modules/referee/#expectations\n[3]: https://twitter.com/roman01la/status/496720629555798016\n[4]: https://github.com/visionmedia/should.js#assertions\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftddbin%2Ftddbin-frontend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftddbin%2Ftddbin-frontend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftddbin%2Ftddbin-frontend/lists"}