{"id":20812135,"url":"https://github.com/eugene-matvejev/react-battleship","last_synced_at":"2025-08-03T18:33:55.580Z","repository":{"id":44144876,"uuid":"78660134","full_name":"eugene-matvejev/react-battleship","owner":"eugene-matvejev","description":"GUI for https://github.com/eugene-matvejev/node-battleship","archived":false,"fork":false,"pushed_at":"2022-12-09T00:34:47.000Z","size":2856,"stargazers_count":7,"open_issues_count":9,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-31T09:02:13.725Z","etag":null,"topics":["automation","circle","codecov","cypress","docker","graphql","gui","heroku","javascript","jest","react","scss","test","testing"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eugene-matvejev.png","metadata":{"files":{"readme":"README.md","changelog":null,"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":"2017-01-11T17:01:29.000Z","updated_at":"2021-03-20T16:46:12.000Z","dependencies_parsed_at":"2023-01-25T10:32:35.909Z","dependency_job_id":null,"html_url":"https://github.com/eugene-matvejev/react-battleship","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eugene-matvejev%2Freact-battleship","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eugene-matvejev%2Freact-battleship/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eugene-matvejev%2Freact-battleship/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eugene-matvejev%2Freact-battleship/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eugene-matvejev","download_url":"https://codeload.github.com/eugene-matvejev/react-battleship/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252856562,"owners_count":21814858,"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":["automation","circle","codecov","cypress","docker","graphql","gui","heroku","javascript","jest","react","scss","test","testing"],"created_at":"2024-11-17T20:50:40.944Z","updated_at":"2025-05-07T10:16:12.851Z","avatar_url":"https://github.com/eugene-matvejev.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[ci.tests-master-badge]: https://circleci.com/gh/eugene-matvejev/react-battleship/tree/master.svg?style=svg\n[ci.tests-master]: https://circleci.com/gh/eugene-matvejev/react-battleship/tree/master\n[ci.coverage-master-badge]: https://codecov.io/gh/eugene-matvejev/react-battleship/branch/master/graph/badge.svg\n[ci.coverage-master]: https://codecov.io/gh/eugene-matvejev/react-battleship/branch/master\n\n[ci.tests-heroku-badge]: https://circleci.com/gh/eugene-matvejev/react-battleship/tree/heroku.svg?style=svg\n[ci.tests-heroku]: https://circleci.com/gh/eugene-matvejev/react-battleship/tree/heroku\n[ci.coverage-heroku-badge]: https://codecov.io/gh/eugene-matvejev/react-battleship/branch/heroku/graph/badge.svg\n[ci.coverage-heroku]: https://codecov.io/gh/eugene-matvejev/react-battleship/branch/heroku\n\n|               | master                                                        | heroku\n|---            |---                                                            | ---\n| __tests__     | [![tests][ci.tests-master-badge]][ci.tests-master]            | [![tests][ci.tests-heroku-badge]][ci.tests-heroku]\n| __coverage__  | [![coverage][ci.coverage-master-badge]][ci.coverage-master]   | [![coverage][ci.coverage-heroku-badge]][ci.coverage-heroku]\n\n# battleship GUI\n\n##### THIS IS SPARE TIME PROJECT, WORK IN PROGRESS!\n\n### software requirements\n\nif you're using `make` commands, local **node.js** and **npm** aren't required\n* [node.js](https://nodejs.org/) v10+\n* [npm](https://www.npmjs.com/) v6+ or [yarn](https://yarnpkg.com/)\n* __optional__ [makefile](https://en.wikipedia.org/wiki/Makefile) comes out of the box in *nix enviroments\n* __optional__ [docker](https://www.docker.com/) v18.09+\n* __optional__ [docker-compose](https://docs.docker.com/compose/) v3+ *for 'cypress' tests only*\n\n### used technologies\n\n* [react.js](https://reactjs.org/)\n* [sass](https://sass-lang.com/)\n* [jest](https://facebook.github.io/jest/)\n* [enzyme](http://airbnb.io/enzyme/)\n* [cypress](https://www.cypress.io/)\n\n### used services\n\n* [circle ci](https://circleci.com/dashboard)\n* [codecov](https://codecov.io/)\n* [code climate](https://codeclimate.com/)\n* [snyk](https://snyk.io/)\n* [heroku](https://www.heroku.com/)\n\n### how to install\n\n* if you're using `make` commands and have [docker](https://docs.docker.com/install/) and [docker-compose](https://docs.docker.com/compose/install/) installed, then no steps required\n* otherwise you need **node.js** installed, and execute `$ npm i`\n\n### how to run tests\n\n* 'cypress' integration tests `$ make cypress` or `$ npm test` inside `./cypress` directory\n* 'jest' unit and functional tests `$ make test` or `$ npm test`\n  * __[optional 'jest' CLI params](https://facebook.github.io/jest/docs/en/cli.html)__\n    * to generate coverage report `--coverage`, example: `$ npm test -- --coverage`, report will be located in __./coverage__ directory\n    * to run tests __only__ in specific file, example: `$ npm test src/validation/rules.test.js`\n\n### how to run in 'development' mode\n\n* `$ make` or `$ npm start`\n\n### how to run in 'production' mode\n\n* `$ make serve`, there is no _npm only_ analogue\n  * to run on non-default port you can overwrite PORT variable, example `$ make serve PORT=18080`\n* if you need __only__ generate static assets\n  * `$ make build` or `$ npm run build` - generated assets will be located in __./build__ directory\n\n### gitflow\n\n* master -\u003e most upto date __production__ version\n* __proxy branch__ heroku -\u003e master is not deployed to heroku with every push, because of limiations of 'free account'\n* other branches -\u003e 'feature branches' get merged into master\nCI build is mandatory check for every PR into master/heroku branches\n\n### used environment variables\n\n| variable                      | default value | used as\n|---                            |---            |---\n| PORT                          | 8080          | number\n| REACT_APP_GAME-MIN-SIZE       | 5             | number\n| REACT_APP_GAME-MAX-SIZE       | 10            | number\n| REACT_APP_GAME-MIN-OPPONENTS  | 1             | number\n| REACT_APP_GAME-MAX-OPPONENTS  | 3             | number\n| REACT_APP_API_PROTOCOL        | http          | string\n| REACT_APP_API_HOST            | localhost     | string\n| REACT_APP_API_PORT            | 8081          | number\n| REACT_APP_WEBSITE_NAME        | Battleship    | string\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feugene-matvejev%2Freact-battleship","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feugene-matvejev%2Freact-battleship","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feugene-matvejev%2Freact-battleship/lists"}