{"id":22136981,"url":"https://github.com/maniruzzamanakash/wp-react-kit","last_synced_at":"2025-04-05T08:04:36.840Z","repository":{"id":45778535,"uuid":"484149608","full_name":"ManiruzzamanAkash/wp-react-kit","owner":"ManiruzzamanAkash","description":"A simple starter kit to work in WordPress with WordPress Rest API, WP-script, React, React Router, Tailwind CSS, PostCSS, Eslint, WP-Data, WP-Data Store, Typescript, React Components, i18n, CRUD, PHP OOP plugin architecture easily in a minute.","archived":false,"fork":false,"pushed_at":"2024-12-20T03:53:26.000Z","size":2530,"stargazers_count":116,"open_issues_count":1,"forks_count":31,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-03-29T07:03:56.252Z","etag":null,"topics":["crud","gutenberg","hacktoberfest","i18n","phpunit-tests","phpunit9","playwright","react","reactjs","reactrouter","redux","redux-sagas","rest-api","typescript","wordpress","wordpress-api","wordpress-e2e-test-utils-playwright","wp-scripts"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/ManiruzzamanAkash.png","metadata":{"files":{"readme":"README.md","changelog":"changelog.txt","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.txt","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},"funding":{"patreon":"maniruzzaman"}},"created_at":"2022-04-21T17:44:59.000Z","updated_at":"2025-03-15T22:35:02.000Z","dependencies_parsed_at":"2025-02-10T19:07:18.523Z","dependency_job_id":"bc2d8cce-0033-48e5-a5ce-3f4962095b5d","html_url":"https://github.com/ManiruzzamanAkash/wp-react-kit","commit_stats":null,"previous_names":[],"tags_count":15,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ManiruzzamanAkash%2Fwp-react-kit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ManiruzzamanAkash%2Fwp-react-kit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ManiruzzamanAkash%2Fwp-react-kit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ManiruzzamanAkash%2Fwp-react-kit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ManiruzzamanAkash","download_url":"https://codeload.github.com/ManiruzzamanAkash/wp-react-kit/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247305932,"owners_count":20917208,"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":["crud","gutenberg","hacktoberfest","i18n","phpunit-tests","phpunit9","playwright","react","reactjs","reactrouter","redux","redux-sagas","rest-api","typescript","wordpress","wordpress-api","wordpress-e2e-test-utils-playwright","wp-scripts"],"created_at":"2024-12-01T19:29:43.028Z","updated_at":"2025-04-05T08:04:36.806Z","avatar_url":"https://github.com/ManiruzzamanAkash.png","language":"TypeScript","readme":"# WP-React-Kit\nA simple starter kit to work in WordPress plugin development using WordPress Rest API, WP-script, React, React Router, Tailwind CSS, PostCSS, Eslint, WP-Data, WP-Data Store, React Components, React CRUD, i18n, PHPUnit Test, JestUnit Test, WordPress Playwright e2e Test, Gutenberg blocks and PHP OOP plugin architecture easily in a minute.\n\n----\n\n## What's included?\n\n1. WordPress Rest API\n2. WP-script Setup\n3. React\n4. React Router\n5. TypeScript\n6. Tailwind CSS [Nested + ]\n7. Scss\n8. PostCSS\n9. Eslint\n10. WP-Data\n11. WP-Data Redux Store [Redux Saga, Generator function, Thunk, Saga Middleware]\n12. React Components\n13. React CRUD Operations - Create, Reade, Update, Delete, Status changes and so many...\n14. Internationalization - WP i18n\n15. PHPUnit Test [Test + Fix]\n16. JestUnit Test\n17. WordPress Playwright e2e Test\n18. PHP OOP plugin architecture [Traits + Interfaces + Abstract Classes]\n19. Gutenberg blocks, Dynamic blocks\n\n### Quick Start\n```sh\n# Clone the Git repository\ngit clone https://github.com/ManiruzzamanAkash/wp-react-kit.git\n\n# Install PHP-composer dependencies [It's empty]\ncomposer install\n\n# Install node module packages\nnpm i\n\n# Start development mode\nnpm start\n\n# Start development with hot reload (Frontend components will be updated automatically if any changes are made)\nnpm run start:hot\n\n# To run in production\nnpm run build\n```\n\nAfter running `start`, or `build` command, there will be a folder called `/build` will be generated at the root directory.\n\n### Activate the plugin\nYou need activate the plugin from plugin list page.\nhttp://localhost/wpex/wp-admin/plugins.php\n\n### Zip making process [Build, Localization, Version replace \u0026 Zip]\n```sh\n# One by one.\nnpm run build\nnpm run makepot\nnpm run version\nnpm run zip\n\n# Single release command - which actually will run the above all in single command.\nnpm run release\n```\n\nAfter running `release` command, there will be a folder called `/dist` will be generated at the root directory with `wp-react-kit.zip` project files.\n\n\n### Run PHP Unit Test\n\n```sh\ncomposer run test\n```\n\n### Run all tests by single command - PHPCS, PHPUnit\n\n```sh\ncomposer run test:all\n```\n\n### Run Jest Unit Test\n\n```sh\nnpm run test:unit\n```\n\n### Run Playwright e2e Test\n\nPlaywright doc link: https://playwright.dev/docs/running-tests\n\n**Requirements:**\n- Must have docker installed and running by ensuring these commands -\n```\nnpm run env:stop\nnpm run env:start\n```\n\n**Normal e2e test**\n```sh\nnpm run test:e2e\n```\n\n**Interactive e2e test**\n```sh\nnpm run test:e2e:watch\n```\n\nFor more about e2e Tests running please check - https://playwright.dev/docs/running-tests\n\n### PHP Coding Standards - PHPCS\n\n**Get all errors of the project:**\n```sh\ncomposer run phpcs\n```\n\n**Fix all errors of the project:**\n```sh\ncomposer run phpcbf\n```\n\n**Full Composer test run:**\n```sh\ncomposer run test:all\n```\n\n### Browse Plugin\n\nhttp://localhost/wpex/wp-admin/admin.php?page=jobplace#/\n\nWhere, `/wpex` is the project root folder inside `/htdocs`.\n\nOr, it could be your custom processed URL.\n\n### REST API's\n\n**Postman API Link** - https://www.getpostman.com/collections/f94073131fc1411506e8\n\n#### REST API Documentation\n\n1. **Job Types**\n    - Method: `GET`\n    - URL: http://localhost/wpex/wp-json/job-place/v1/job-types\n1. **Companies dropdown**\n    - Method: `GET`\n    - URL: http://localhost/wpex/wp-json/job-place/v1/companies/dropdown\n1. **Job Lists**\n    - Method: `GET`\n    - URL: http://localhost/wpex/wp-json/job-place/v1/jobs\n1. **Job Details**\n    - Method: `GET`\n    - URL By ID: http://localhost/wpex/wp-json/job-place/v1/jobs/1\n    - URL By Slug: http://localhost/wpex/wp-json/job-place/v1/jobs/first-job\n1. **Create Job**\n    - Method: `POST`\n    - URL: http://localhost/wpex/wp-json/job-place/v1/Jobs\n    - Body:\n    ```json\n    {\n        \"title\": \"Simple Job Post\",\n        \"slug\": \"simple-job-post\",\n        \"description\": \"Simple job post description\",\n        \"company_id\": 1,\n        \"job_type_id\": 2,\n        \"is_active\": 1\n    }\n    ```\n1. **Update Job**\n    - Method: `PUT`\n    - URL: http://localhost/wpex/wp-json/job-place/v1/jobs/1\n    - Body:\n    ```json\n    {\n        \"title\": \"Simple Job Post Updated\",\n        \"slug\": \"simple-job-post-updated\",\n        \"description\": \"Simple job post description\",\n        \"company_id\": 1,\n        \"job_type_id\": 2,\n        \"is_active\": 1\n    }\n    ```\n1. **Delete Jobs**\n    - Method: `DELETE`\n    - URL: http://localhost/wpex/wp-json/job-place/v1/jobs\n    - Body:\n    ```json\n    {\n        \"ids\": [1, 2]\n    }\n    ```\n\n**Detailed Documentation** -\n[View Detailed documentations with parameters and responses of the REST API](https://github.com/ManiruzzamanAkash/wp-react-kit/blob/main/Rest-API-Docs.MD)\n\n### Version \u0026 Changelogs\n**v0.9.0 - 20/12/2024**\n\n1. Fix: Updated PHP version support \u003e 8.0 and some more library support\n1. Fix: When Editing a Job, last job is being edited\n1. Update: Tested upto WordPress 6.7.1\n\n**v0.8.0 - 24/05/2023**\n\n1. New feature: WordPress Playwright test-e2e-utils added.\n1. New feature: Some Gutenberg blocks has support for Playwright test.\n\n**v0.7.0 - 01/01/2023**\n\n1. Fix: Dynamic block renderer issue.\n1. Fix: Asset registering multiple times issue.\n\n**v0.5.0 - 15/11/2022**\n\n1. New Feature : Job Create.\n2. New Feature : Job Update.\n3. New Feature : Job Delete.\n4. New Feature : Job Status change.\n5. New API: Company dropdown list.\n6. New: Updated logo icon and plugin name.\n7. New Components: Input Text-Editor, Improved design.\n8. Refactor: Refactored codebase and updated docs.\n9. New: Job type seeder.\n10. Chore: Zip file generator.\n11. Chore: i18n localization generator.\n\n### Version \u0026 Changelogs\n**v0.4.1 - 18/08/2022**\n\n1. Added Jest Unit Test Setup.\n2. Added some dummy Jest Unit Test.\n3. Fix #11 - Version naming while installing.\n\n**v0.4.0 - 12/08/2022**\n\n1. Added many re-usable general components.\n1. Header Component refactored and re-designed.\n1. WP-Data setup and made Job Store.\n1. Job List Page frontend added.\n\n**v0.3.1 - 11/08/2022**\n\n1. PHPUnit Test cases setup.\n1. PHPUnit Test cases added for Job Manager and Job REST API's.\n\n**v0.3.0 - 02/08/2022**\n\n1. Necessary traits to handle - sanitization, query.\n1. Advanced setup for migration, seeder, REST API.\n1. Jobs, Job Types REST API developed.\n\n\u003cdetails\u003e\n    \u003csummary\u003eOptions for specific files:\u003c/summary\u003e\n\n**Get specific file errors of the project:**\n```sh\nvendor/bin/phpcs job-place.php\n```\n\n\n**Fix specific file errors of the project:**\n```sh\nvendor/bin/phpcbf job-place.php\n```\n\u003c/details\u003e\n\n### Versions\n\u003cdetails\u003e\n    \u003csummary\u003eSimple Version with raw PHP\u003c/summary\u003e\n\nhttps://github.com/ManiruzzamanAkash/wp-react-kit/releases/tag/vSimple\n\u003c/details\u003e\n\n\u003cdetails\u003e\n    \u003csummary\u003eVersion with EsLint and i18n Setup\u003c/summary\u003e\n\nhttps://github.com/ManiruzzamanAkash/wp-react-kit/releases/tag/vSimpleEslint\n\u003c/details\u003e\n\n\n\u003cdetails\u003e\n    \u003csummary\u003eVersion with EsLint, i18n and React Router Setup\u003c/summary\u003e\n\nhttps://github.com/ManiruzzamanAkash/wp-react-kit/releases/tag/vReactRouter\n\u003c/details\u003e\n\n\u003cdetails\u003e\n    \u003csummary\u003eVersion with PostCSS and Tailwind CSS Setup\u003c/summary\u003e\n\nhttps://github.com/ManiruzzamanAkash/wp-react-kit/releases/tag/vTailwindCss\n\u003c/details\u003e\n\n\u003cdetails\u003e\n    \u003csummary\u003eVersion with PHPCS setup\u003c/summary\u003e\n\nhttps://github.com/ManiruzzamanAkash/wp-react-kit/releases/tag/vPHPCS\n\u003c/details\u003e\n\n\u003cdetails\u003e\n    \u003csummary\u003eVersion with PHP OOP Architecture\u003c/summary\u003e\n\nhttps://github.com/ManiruzzamanAkash/wp-react-kit/releases/tag/vPhpOOP\n\u003c/details\u003e\n\n### File structure:\n\u003cdetails\u003e\n    \u003csummary\u003eSimple Version Code-Structure:\u003c/summary\u003e\n\n![Simple Version](https://i.ibb.co/3fmYfks/wp-react-kit-simple-version.png \"Demo in Simple Version\")\n\u003c/details\u003e\n\n### Demo with Simple Version\n\n\u003cdetails\u003e\n    \u003csummary\u003eDemo in WordPress plugin:\u003c/summary\u003e\n\n![Demo Plugin](https://i.ibb.co/NpVYrxN/wp-react-kit.png \"Demo in WordPress plugin\")\n\u003c/details\u003e\n\n\n### Demo With React Router \u0026 Menu\n\n![Demo Plugin](https://i.ibb.co/vPp9Mm9/Wp-Scripts-Demo.png \"Demo in WordPress plugin\")\n\n### Final Demos\n\n**Job List Page**\n\n![Job List Page](https://i.ibb.co/0MXQ7y7/Job-List.png \"Job List Page\")\n\n**Job List Page with Pagination in different primary color**\n\n![Job List Page with Pagination](https://i.ibb.co/1vr6tXS/Job-Pagination.png \"Job List Page with Pagination\")\n\n**Job List Page with search**\n\n![Job List Page with Search](https://i.ibb.co/nr3pTXM/Jobs-Search.png \"Job List Page with Search\")\n\n**Job Create Page**\n\n![Job Create Page](https://i.ibb.co/ZXzgjzr/Job-Create.png \"Job Create Page\")\n\n\n**Job Edit Page**\n\n![Job Edit Page](https://i.ibb.co/2Sqpck3/Job-Edit.png \"Job Edit Page\")\n\n![Job Edit Page Loading](https://i.ibb.co/hfxNg7G/Job-Create-Preloading.png \"Job Edit Page Loading\")\n\n**Job Delete**\n\n![Job Delete popup](\nhttps://i.ibb.co/yfXBT8b/Job-Delete-Popup.png\n \"Job Delete popup\")\n\n **Responsive views**\n\n![Mobile responsive views-1](\nhttps://i.ibb.co/Ws6n1HW/Mobile-View-List.png\n \"Mobile responsive views-1\")\n\n![Mobile responsive views-2](\nhttps://i.ibb.co/QYgvD83/Mobile-View-Selected-Job.png\n \"Mobile responsive views-2\")\n\n ## Gutenberg blocks\n Inside `src/blocks` you'll find gutenberg block for ready block setup. We've made blocks like dynamic block so that future changes would not create any issue.\n\n **Demo preview -**\n ![React Kit Header Block demo](\n https://i.ibb.co/V2m7bPt/wp-react-kit-block-demo.png\n \"React Kit Header Block demo\")\n\n## Contribution\n\nContribution is open and kindly accepted. Before contributing, please check the issues tab if anything in enhancement or bug. If you want to contribute new, please create an issue first with your enhancement or feature idea.\nThen, fork this repository and make your Pull-Request. I'll approve, if everything goes well.\n\n## Contact\nIt's me, Maniruzzaman Akash. Find me at manirujjamanakash@gmail.com\n","funding_links":["https://patreon.com/maniruzzaman"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaniruzzamanakash%2Fwp-react-kit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaniruzzamanakash%2Fwp-react-kit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaniruzzamanakash%2Fwp-react-kit/lists"}