{"id":20375635,"url":"https://github.com/juliolmuller/poppest","last_synced_at":"2026-04-09T18:05:24.882Z","repository":{"id":37521193,"uuid":"190311477","full_name":"juliolmuller/poppest","owner":"juliolmuller","description":"Application in PHP, using Laravel, PostgreSQL and REact.js. The main purpose of this project is to demonstrate general skills developing something amazing as a practical test applying to Ateliware job.","archived":false,"fork":false,"pushed_at":"2023-01-07T05:10:11.000Z","size":5422,"stargazers_count":1,"open_issues_count":14,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-15T07:07:43.452Z","etag":null,"topics":["ateliware","github-api","laravel","php","postgresql","reactjs"],"latest_commit_sha":null,"homepage":"","language":"PHP","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/juliolmuller.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":"2019-06-05T02:22:27.000Z","updated_at":"2024-10-01T01:51:41.000Z","dependencies_parsed_at":"2023-02-06T12:32:06.418Z","dependency_job_id":null,"html_url":"https://github.com/juliolmuller/poppest","commit_stats":null,"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juliolmuller%2Fpoppest","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juliolmuller%2Fpoppest/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juliolmuller%2Fpoppest/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juliolmuller%2Fpoppest/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/juliolmuller","download_url":"https://codeload.github.com/juliolmuller/poppest/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241924291,"owners_count":20043186,"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":["ateliware","github-api","laravel","php","postgresql","reactjs"],"created_at":"2024-11-15T01:32:16.543Z","updated_at":"2025-12-31T01:03:21.402Z","avatar_url":"https://github.com/juliolmuller.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n  :star: Poppest - The Most Popular Repositories in GitHub\n\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#trophy-lessons-learned\"\u003eLessons Learned\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\u0026nbsp;\n  \u003ca href=\"#rocket-technologies--resources\"\u003eTechnologies\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\u0026nbsp;\n  \u003ca href=\"#hammer-setting-up-the-environment\"\u003eEnvironment Setup\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/static/v1?labelColor=000000\u0026color=18bc9c\u0026label=created%20at\u0026message=Jun%202019\" alt=\"Creation Date\" /\u003e\n\n  \u003cimg src=\"https://img.shields.io/github/last-commit/juliolmuller/poppest?label=updated%20at\u0026labelColor=000000\u0026color=18bc9c\" alt=\"Update Date\" /\u003e\n\n  \u003cimg src=\"https://img.shields.io/github/v/tag/juliolmuller/poppest?label=latest%20version\u0026labelColor=000000\u0026color=18bc9c\" alt=\"Latest Version\" /\u003e\n\n  \u003cimg src=\"https://img.shields.io/static/v1?labelColor=000000\u0026color=18bc9c\u0026label=PRs\u0026message=welcome\" alt=\"Pull Requests Welcome\" /\u003e\n\n  \u003cimg src=\"https://img.shields.io/github/license/juliolmuller/poppest?labelColor=000000\u0026color=18bc9c\" alt=\"Project License\" /\u003e\n\u003c/p\u003e\n\n![Poppest snapshot](./public/images/app-overview.jpg)\n\nThis application was proposed by [Ateliware](https://ateliware.com.br/), as part of their recruitment process for full-stack developer. The challenge was to consume [GitHub API](https://docs.github.com/v3/), searching for the 30 most popular repositories for 5 programing languages of my choice, store the results in a database and make this info available through a front-end interface. The use of a backend framework was mandatory. The final app should also be deployed to a public server, like Azure, AWS or Heroku.\n\n[Check out the application running!](https://poppest.herokuapp.com/)\n\n## :trophy: Lessons Learned\n\n- Communicate to [GitHub API v3](https://docs.github.com/v3/);\n- Use an HTTP client package for PHP;\n- Build a React app within Laravel environment;\n- Use SASS to overwrite Bootstrap standard variables;\n\n## :rocket: Technologies \u0026 Resources\n\n**Frontend:**\n- [React ~~16~~ 17](https://reactjs.org) (with Hooks \u0026 TypeScript)\n- [jQuery 3](https://jquery.com/)\n- [Bootstrap 4](https://getbootstrap.com/)\n- [Axios](https://github.com/axios/axios) (HTTP client)\n\n**Backend:**\n- [PHP ~~7.2~~ 7.4](https://php.net/)\n- [Composer](https://getcomposer.org/) (PHP package manager)\n- [Laravel ~~5.7~~ 8](https://laravel.com/)\n- [~~MySQL 8~~](https://www.mysql.com/) [PostgreSQL 13](https://www.postgresql.org/)\n- [~~Ixudra PHP cURL~~](https://github.com/ixudra/curl) (updated to use Laravel's default  HTTP client façade)\n\n**Testing:**\n- [PHPUnit](https://phpunit.de/) (embedded into Laravel)\n\n**Deploy:**\n- [Heroku](https://www.heroku.com/) (cloud platform)\n\n**Development:**\n- [PhpStorm](https://www.jetbrains.com/phpstorm/) and [Visual Studio Code](https://code.visualstudio.com/)\n- [Cmder](https://cmder.net/) (terminal emulator)\n- [Node.js](https://nodejs.org/en/) scripts (with Laravel Mix)\n- [Postman](https://www.getpostman.com/) and [Insomnia](https://insomnia.rest/) (platform for API development)\n\n## :hammer: Setting up the Environment\n\nTo allow Laravel to use you local configurations like database setup and credentials you will need to rename the file **.env.example** to **.env** and update the values for the `DB_*` variables accordingly. Besides, make sure you have a database created to migrate the schemas and data.\n\nYou will also need **Composer** and **Node.js** installed in your machine and their `composer` and `npm` shortcuts available via command line.\n\nTo set up your server-side environment, use the following commands:\n\n```bash\n$ composer update            # To download PHP dependencies\n$ php artisan migrate --seed # To run migrations and seeding\n$ php artisan serve          # To start the server\n$ composer run test          # To run automated tests\n```\n\nWhen dealing with the front-end, you must use `yarn` to run the scripts:\n\n```bash\n$ npm install      # To download JavaScript dependencies\n$ npm watch        # To keep compiling to 'public/' while developing\n$ npm production   # For minified bundle for production\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjuliolmuller%2Fpoppest","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjuliolmuller%2Fpoppest","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjuliolmuller%2Fpoppest/lists"}