{"id":21178697,"url":"https://github.com/poabob/slim-swoole","last_synced_at":"2026-04-24T18:38:56.516Z","repository":{"id":102352582,"uuid":"524888477","full_name":"POABOB/Slim-Swoole","owner":"POABOB","description":null,"archived":false,"fork":false,"pushed_at":"2022-08-15T07:08:52.000Z","size":2175,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-21T11:45:14.723Z","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/POABOB.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":"2022-08-15T07:08:26.000Z","updated_at":"2022-08-15T07:08:55.000Z","dependencies_parsed_at":null,"dependency_job_id":"0ad51454-f50f-4efd-b27d-b97c7b3e7e00","html_url":"https://github.com/POABOB/Slim-Swoole","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/POABOB%2FSlim-Swoole","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/POABOB%2FSlim-Swoole/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/POABOB%2FSlim-Swoole/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/POABOB%2FSlim-Swoole/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/POABOB","download_url":"https://codeload.github.com/POABOB/Slim-Swoole/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243629222,"owners_count":20322017,"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-11-20T17:23:27.549Z","updated_at":"2025-12-28T19:04:53.094Z","avatar_url":"https://github.com/POABOB.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SLIM Swoole\n\n\u003c!-- [![Build Status](https://github.com/POABOB/Slim-4-Framework/actions/workflows/build.yml/badge.svg)](https://github.com/POABOB/Slim-4-Framework/actions)\n[![Coverage Status](https://coveralls.io/repos/github/POABOB/Slim-4-Framework/badge.svg?branch=main)](https://coveralls.io/github/POABOB/Slim-4-Framework?branch=main)\n[![PHP Version Require](https://poser.pugx.org/poabob/slim-4-framework/require/php)](https://packagist.org/packages/poabob/slim-4-framework)\n[![License](https://poser.pugx.org/poabob/slim-4-framework/license)](https://packagist.org/packages/poabob/slim-4-framework) --\u003e\n\n## Introduction\n\n\u003e This project was built with php SLIM 4 framework with ADR mode using swoole, whcich is a compatible resolution of RESTful Api.\n\n### Features\n\n* Framework - [SLIM 4](https://www.slimframework.com/)\n* Container - [Docker](https://www.docker.com/)\n  * php8 - [Swoole 4.8](https://wiki.swoole.com/#/)\n  * Database - [MariaDB](https://mariadb.org/)\n* Test - [Codeception](https://codeception.com/)\n* Api Document - [Swagger-ui](https://swagger.io/tools/swagger-ui/)\n* ORM - [Medoo](https://medoo.in/)\n* CI/CD - [Github Actions](https://github.com/features/actions)\n\n### Minimal requirements\n\n* docker/docker-compose\n* php: \u003e=8.0\n* composer\n\n## Installation\n\n\n### Config\n\n* Write your Db schema\n\n`init.sql`\n```\nCREATE DATABASE IF NOT EXISTS Example;\nUSE Example;\nCREATE TABLE IF NOT EXISTS `Example`.`Users` ( `id` INT UNSIGNED NOT NULL AUTO_INCREMENT , `name` VARCHAR(64) NOT NULL, `password` VARCHAR(64) NOT NULL ,  PRIMARY KEY (`id`)) ENGINE = InnoDB;\n```\n\n* DB config\n\n\u003e If you use sqlite for your database, juse commit mysql config.\n\n`docker-compose.yml`\n```\n  mysql:\n    ...\n    environment:\n      - MYSQL_DATABASE={DB}\n      - MYSQL_ROOT_PASSWORD={root_password}\n      - MYSQL_USER={user}\n      - MYSQL_PASSWORD={user_password}\n```\n\n* Generate Secret Key for Jwt\n\n```\n# Generate PRIVATE KEY\nopenssl genrsa -out private.pem 2048\n# Generate PUBLIC KEY\nopenssl rsa -in private.pem -outform PEM -pubout -out public.pem\n```\n\n* .env configuration\n\n\u003e If you use sqlite for your database, just commit mysql config.\n\n```\n# dev/prod/stage/test\nMODE=dev\n# MYSQL CONFIG\nDB_DRIVER=mysql\nDB_NAME={DB}\nDB_HOST=mysql\nDB_USER={user}\nDB_PASS={user_password}\nDB_CHARSET=utf8mb4\n\n# SQLITE CONFIG\n# DB_DRIVER=sqlite\n# DB_NAME={./path/Example.db}\n\n# SETTINGS FOR DEBUG (0/1)\n# please don't display error details in production environment.\nDISPLAY_ERROR_DETAILS=1\nLOG_ERROR_DETAILS=1\nLOG_ERRORS=1\n\n\n# JWT SETTINGS\nJWT_ISSUER=SLIM_4\nJWT_LIFETIME=86400\nJWT_PRIVATE_KEY=\"{PRIVATE KEY}\"\nJWT_PUBLIC_KEY=\"{PUBLIC KEY}\"\n```\n\n## Run\n\n### dev\n\n```\ncomposer install\ndocker-compose up -d\n```\n\n### prod\n\n```\ncomposer install --no-dev --optimize-autoloader\ndocker-compose -f docker-compose-prd.yaml up -d\n```\n\n### test\n\n```\n\u003c!-- Before you test, please check out your vendor which was instlled. --\u003e\ncomposer run test\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpoabob%2Fslim-swoole","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpoabob%2Fslim-swoole","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpoabob%2Fslim-swoole/lists"}