{"id":22203180,"url":"https://github.com/reginaldojunior/interview-cache","last_synced_at":"2025-08-09T20:06:19.606Z","repository":{"id":87658846,"uuid":"130491525","full_name":"reginaldojunior/interview-cache","owner":"reginaldojunior","description":"Project in Symfony","archived":false,"fork":false,"pushed_at":"2018-04-22T16:11:23.000Z","size":54,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-30T03:41:14.635Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"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/reginaldojunior.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}},"created_at":"2018-04-21T16:24:14.000Z","updated_at":"2018-04-22T16:11:24.000Z","dependencies_parsed_at":"2023-03-13T18:40:14.246Z","dependency_job_id":null,"html_url":"https://github.com/reginaldojunior/interview-cache","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/reginaldojunior%2Finterview-cache","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reginaldojunior%2Finterview-cache/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reginaldojunior%2Finterview-cache/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reginaldojunior%2Finterview-cache/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/reginaldojunior","download_url":"https://codeload.github.com/reginaldojunior/interview-cache/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245383042,"owners_count":20606265,"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-12-02T16:41:30.784Z","updated_at":"2025-03-25T01:48:43.594Z","avatar_url":"https://github.com/reginaldojunior.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"EasyTaxi Cache Failover\n========\n\nInstructions\n------\nHello, this is a simple challenge to test your skills on Symfony, PHPUnit and Cache.\n\nYou will see that we have a Controller\\CustomerController. It basically gives you the following capabilities:\n\n* Create multiple customers by sending an json to /customers/ endpoint\n* Delete all customers\n* Consult all customers\n\nSo what do you have to do?\n\n* We want you to obtain the reponse of GET customers method from a Cache Server.\n* Since you know that this information is immutable until someone hits POST/DELETE customer methods, you shall not hit the Database if cache information is available.\n* To let the things a little bit interesting you will have to implement an failover: If Cache Server goes down, you have to hit the Database and this needs to be transparent to our end user, not an Error page!\n* Make Unit and Functional tests to ensure everything is working fine.\n* You will recieve a thumbs up for good Commit Messages and SOLID knowledge.\n\nMinimum Requirements\n---------\n* PHP 5.4\n* [MongoDB driver](http://php.net/manual/en/mongo.installation.php#mongo.installation.nix)\n* Mongo 2.6\n* Redis 3\n\nInstallation\n------\n* $ git clone git@bitbucket.org:easytaxi/interview-cachefailover.git\n* $ cd interview-cachefailover/\n* $ composer install\n* $ php app/console server:run\n* Open http://127.0.0.1:8000/customers in your browser (check if everything is fine)\n* You can test your database operation by doing a POST into /customers/\n* $ curl http://127.0.0.1:8000/customers/ -X POST -d '[{\"name\":\"leandro\", \"age\":26}, {\"name\":\"marcio\", \"age\":30}]'\n* Then check your MongoDB collection to see if customers were created or just call the action\n* $ curl http://127.0.0.1:8000/customers/\n\nRunning tests\n------\n* Install PHPUnit\n* In project root run: phpunit\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freginaldojunior%2Finterview-cache","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Freginaldojunior%2Finterview-cache","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freginaldojunior%2Finterview-cache/lists"}