{"id":20887698,"url":"https://github.com/opsway/hr_test_iboobel2","last_synced_at":"2026-04-28T02:31:56.290Z","repository":{"id":68473424,"uuid":"101398567","full_name":"opsway/hr_test_iboobel2","owner":"opsway","description":"Temporary repo for HR test","archived":false,"fork":false,"pushed_at":"2017-08-25T11:44:42.000Z","size":10,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-12-28T19:46:28.113Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/opsway.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2017-08-25T11:44:34.000Z","updated_at":"2017-08-25T11:44:44.000Z","dependencies_parsed_at":"2023-03-24T08:32:03.263Z","dependency_job_id":null,"html_url":"https://github.com/opsway/hr_test_iboobel2","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/opsway/hr_test_iboobel2","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opsway%2Fhr_test_iboobel2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opsway%2Fhr_test_iboobel2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opsway%2Fhr_test_iboobel2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opsway%2Fhr_test_iboobel2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/opsway","download_url":"https://codeload.github.com/opsway/hr_test_iboobel2/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opsway%2Fhr_test_iboobel2/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32363627,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-27T20:07:02.737Z","status":"online","status_checked_at":"2026-04-28T02:00:07.250Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2024-11-18T08:22:10.275Z","updated_at":"2026-04-28T02:31:56.280Z","avatar_url":"https://github.com/opsway.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"[Expired] OpsWay PHP TEST for PHP Developers\n============\n\nDisclamer\n---------\nThis was once used to evaluate PHP developer level for recruitment purposes\n\nDescription\n-----------\n\nThis is example application for data migration from any source data to any destination data.\n\nAttention, this test is created deliberately complex to reflect real-world complexities that are met in day-to-day work\n\nYou have 24 hours to complete the test, but pay attention that time spent affects your overall score:\n\nYou'll get 3 points if test is done \u003c=3 hours, 2 point \u003c=6 hours, 1 point it done \u003c24 hours.  \n\nInstallation\n------------\n\n \n```\ncomposer install\n```\n\nUsage\n------\n\n* CLI mode\n```\nphp cli.php {reader} {writer}\n```\n* WEB mode\n```\nphp -S localhost:8000\n```\n  Open browser on http://localhost:8000/web.php?reader={ReaderName}\u0026writer={WriterName}\n  \n\n\nTask description \n-------\n\n**Important!** All comment in commits should contained task number (cast sensitive) : \"TASK 2\", \"TASK 3\", etc\n\n1. Investigate application (ignore /tests folder) and write short description (no more than 100 words: how it works for every class you meet in functional on each classes, etc) to data/comments/1.txt file. Commit this file.\n\n2. Run cli.php in CLI mode for export all products to console output writer. \nRedirect using redirect operator (https://en.wikipedia.org/wiki/Redirection_(computing)#Basic) console output to file data/2.txt. \nPut the commands you used to data/comments/2.txt. Commit both files.\n\n3. Run cli.php in CLI mode for export all products to data/export.csv file.\nFix bug in CSV writer. Commit export.csv file and fix to repo.\n\n4. Run web.php in WEB mode for export all products to HTML writer. \nFix bug with output (remove extra top symbols), but don't touch ConsoleLogger class.\nTake a screenshot with result table and save to data/3.jpg. \nCommit fix and screenshot to repo.\n\n5. Copy cli.php to new_cli.php file.\nRemove instantiation of ConsoleLogger class from new_cli.php.\nImplement same functionality (with debug mode = true and counting and output it each 2 item) with anonymous function or closure.\nCommit changes.\n\n6. Write new CSV reader class (OpsWay\\Migration\\Reader\\File\\Csv) which should parse export.csv created as a result of Task 3. Reader should return items include keys column which use csv in header (exclude itself).\nWrite new OutOfStockLogger class that will log in CSV format (use exist Writer Csv class for writing to file) rows that have only qty == 0 \u0026 is_stock == 0\nRun cli.php in CLI mode with OutOfStockLogger instead ConsoleLogger and use created CSV reader with Stub writer\nCommit code changes and include result OutOfStockLogger csv file as /data/output.log.csv\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopsway%2Fhr_test_iboobel2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopsway%2Fhr_test_iboobel2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopsway%2Fhr_test_iboobel2/lists"}