{"id":13609286,"url":"https://github.com/leocavalcante/inmana-php","last_synced_at":"2025-04-23T07:24:09.676Z","repository":{"id":72843965,"uuid":"360111609","full_name":"leocavalcante/inmana-php","owner":"leocavalcante","description":"🚀 Developing Rocketseat's Next Level Week (NLW#05) Application using PHP/Swoole + Hyperf","archived":false,"fork":false,"pushed_at":"2021-04-24T14:45:44.000Z","size":114,"stargazers_count":21,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-29T22:41:17.693Z","etag":null,"topics":["hyperf","nlw-5","nlw5","php","swoole"],"latest_commit_sha":null,"homepage":"","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/leocavalcante.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}},"created_at":"2021-04-21T09:35:04.000Z","updated_at":"2024-12-10T15:34:23.000Z","dependencies_parsed_at":"2024-01-14T06:56:10.234Z","dependency_job_id":null,"html_url":"https://github.com/leocavalcante/inmana-php","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leocavalcante%2Finmana-php","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leocavalcante%2Finmana-php/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leocavalcante%2Finmana-php/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leocavalcante%2Finmana-php/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/leocavalcante","download_url":"https://codeload.github.com/leocavalcante/inmana-php/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250388451,"owners_count":21422340,"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":["hyperf","nlw-5","nlw5","php","swoole"],"created_at":"2024-08-01T19:01:33.837Z","updated_at":"2025-04-23T07:24:09.656Z","avatar_url":"https://github.com/leocavalcante.png","language":"PHP","readme":"# Inmana PHP\n\n🚀 Developing [Rocketseat](https://rocketseat.com.br/) 's [Next Level Week](https://nextlevelweek.com/) (NLW#05) Application using [Swoole](https://www.swoole.co.uk/) + [Hyperf](https://hyperf.io/).\n\n\u003e This is the app of the [Elixir track](https://nextlevelweek.com/episodios/elixir/3/edicao/5).\n\n| I know PHP/Swoole | I know NLW#5 |\n| --- | --- |\n| The Next Level Week is a sprint promoted by the education company Rocketseat to help in the learning of new technologies. Unfortunately they don't officially support a PHP track, but we love PHP specially when it comes with Swoole. | This is the following of the Elixir track, but using Swoole (instead of regular PHP-FPM), a high-performance server for PHP applications inspired on Erlang, and Hyper, a MVC framework analog to Phoenix, that supports Coroutines as first-class. |\n\n## Comparison table\n\n| | Language | Runtime | Framework | ORM |\n| --- | --- | --- | --- | --- |\n| **From** | Elixir | Processes (Tasks/GenServer)  | Phoenix | Ecto |\n| **To** | **PHP** | **Swoole Coroutines/Fibers** | **Hyperf** | **Hyperf-Eloquent** |\n\nFor the REPL (iex) you can use [gokure/hyperf-tinker](https://packagist.org/packages/gokure/hyperf-tinker).\n\nThe mail component for Elixir was based on the third-party [Bamboo](https://github.com/thoughtbot/bamboo) project, **same here, it uses [hyperf-ext/mail](https://github.com/hyperf-ext/mail)** (both running locally with logs, but with a wide range of transports/adapters available).  \n\n\u003e Check `/runtime/logs/hyperf.log` for sent emails.\n\n## Trying out\n\n### Up development environment\n\n```shell\ndocker compose run --rm --service-ports app\n```\n\nThis will start an interactive shell inside a container-based development environment.\u003cbr\u003e\n**The following commands should be executed inside this shell session.**\n\n\u003e If you don't want to use Docker you can skip this step, just make sure you have a running MySQL server, PHP 7.4 and Swoole 4.6.\n\n### Install dependencies\n```shell\ncomposer install\n```\n\n### Configure\nMake sure to change `.env` for proper values (like setting `DB_HOST` to `db` if in Docker) and adding passwords.\n\n### Run migrations\n```shell\nphp bin/hyperf.php migrate\n```\n\n### Start the server (and watch for changes)\n```shell\nphp bin/hyperf.php server:watch\n```\n\n### Trigger expiring emails\n```shell\nphp bin/hyperf.php mail:expiring\n```\n\u003e After that, see `runtime/logs/hyperf.log`","funding_links":[],"categories":["PHP"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleocavalcante%2Finmana-php","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fleocavalcante%2Finmana-php","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleocavalcante%2Finmana-php/lists"}