{"id":18537120,"url":"https://github.com/stratigos/password-service","last_synced_at":"2026-05-05T13:39:09.246Z","repository":{"id":88046356,"uuid":"130211755","full_name":"stratigos/password-service","owner":"stratigos","description":"Password Rating Service w SPA :diamonds: :atom: (Rails 5 / React / Redux) ","archived":false,"fork":false,"pushed_at":"2018-04-19T12:35:47.000Z","size":258,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-20T15:13:55.726Z","etag":null,"topics":["rails","react","redux","ruby","spa"],"latest_commit_sha":null,"homepage":"https://toddspasswordservice.herokuapp.com/","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stratigos.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-04-19T12:24:25.000Z","updated_at":"2020-08-28T17:17:35.000Z","dependencies_parsed_at":"2023-03-14T03:16:23.216Z","dependency_job_id":null,"html_url":"https://github.com/stratigos/password-service","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/stratigos/password-service","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stratigos%2Fpassword-service","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stratigos%2Fpassword-service/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stratigos%2Fpassword-service/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stratigos%2Fpassword-service/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stratigos","download_url":"https://codeload.github.com/stratigos/password-service/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stratigos%2Fpassword-service/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32652092,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-05T11:29:49.557Z","status":"ssl_error","status_checked_at":"2026-05-05T11:29:48.587Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["rails","react","redux","ruby","spa"],"created_at":"2024-11-06T19:37:10.051Z","updated_at":"2026-05-05T13:39:09.213Z","avatar_url":"https://github.com/stratigos.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Instructions\n\n## Foreward\n\nThis library consists of two applications:\n\n * Ruby on Rails 5 API [back-end](app)\n * React 16 with Redux SPA [front-end](front-end)\n\n## Dependencies\n\n * **Ruby \u003e= 2.2.2**. _(Recommended: **Ruby 2.5.0**)_\n * **bundler ~\u003e 1.16.1**\n * **Rails 5.1.5**\n * **NodeJS ~\u003e 9.4.0**\n * **npm ~\u003e 5.7.1**\n * **yarn ~\u003e 1.5.1**\n\n## Installation\n\n * install any dependencies listed above not yet present on your system, then clone this repo.\n * change directory to this checkout, and run `bundle`\n * change directory to `./front-end`, and run `yarn install`\n\n## Run Applications\n\n### At a Glance\n\n * change directory `cd` to the root of this checkout\n * run `nohup ./bin/rails s \u0026`\n * run `cd ./front-end`\n * run `npm run start`\n * visit `localhost:3001` in your browser\n * type a password into the input field\n\n### Run Back End Service (Detailed)\n\n#### nohup\n\nTo run both applications simultaneously in the same terminal, open a shell to the directory that was cloned into, and run the following command:\n\n * `nohup ./bin/rails s \u0026`\n\nTake note of the process ID that was returned.  \nThe server output can be monitored with the following command:\n\n * `tail -f nohup.out`\n\nStop the server with `kill {processID}` (where `{processID}` is the number returned from `nohup`). Alternatively, use the `jobs` command, note the numeric ID associated with the `nohup ./bin/rails s \u0026` process, and then run `kill %{NUM}` (where `{NUM}` is the job ID listed from `jobs`).\n\n### Run Front End App\n\n * run `cd ./front-end` from the location of the back end app\n * run `npm run start`\n\nA browser should be loaded for you. If not, visit [http://localhost:3001](http://localhost:3001), or whichever port the application declares in its output.\n\n### Run Alternatives\n\nSkip this section if you have no problems with `nohup`.\n\n#### rails daemon\n\nThe server can also be started in daemon mode:\n\n * `./bin/rails s -d`\n\nTo stop, use system tools like `ps`, `top`, or `htop` to find the associated `puma` process ID, and `kill` it.\n\n * `ps aux | grep puma`\n\n#### foreground\n\nAlso, this can simply be run via:\n\n * `./bin/rails s`\n\n...and switch to a new shell/terminal tab for the front end app.\n\n## Tests\n\n### Back End Tests\n\nThe Rails app uses RSpec 3.7. Simply navigate to the root location, and use the following command:\n\n * run `./bin/rails spec`\n\n### Front End Tests\n\nThe React app uses Jest, Enzyme, and the React libraries. Navigate to the `./front-end` dir from the root location, and use the following command:\n\n * run `npm run test`\n\nFollow the instructions on screen. Type `a` to re-run all tests, and `q` to exit.\n\n## Password Service\n\nThe back end service consists of a single endpoint:\n\n * POST `/v1/password_strength`\n * OPTIONS `/v1/password_strength`\n\nThe `password` parameter must be included in the POST body, or a 422 Unprocessable Entity error will result. To inspect this service, use an application like [Postman](https://www.getpostman.com/), or [cURL](https://curl.haxx.se/) from your shell session.\n\nThe service's [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) policy currently allows any origin, but this may become more restricted as the service develops.\n\n## Thanks\n\nThank you for taking the time to review this implementation. :bow:\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstratigos%2Fpassword-service","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstratigos%2Fpassword-service","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstratigos%2Fpassword-service/lists"}