Play (package tester).
About play.
Play is a composer package tester developed by PHPSandbox that allows PHP developers to easily test their composer packages in a sandbox environment. The tool was launched in 2022 and has become a popular choice for developers looking to improve their package testing and release workflows.
Furthermore, Play is a platform that enables you to test packages from Packagist right in a single tab without the need to install the package and test it in your project before getting to know if it really works or not. This feature makes testing packages even more convenient for PHP developers, allowing them to quickly and easily test packages without having to go through the time-consuming process of installing them in their projects first.
BackGround
role.
Role? I designed the platform in two days. That’s not the reply, but in two days!!!
Problem
One of the major difficulties PHP developers encounter when creating and publishing composer packages is making sure that their packages have been extensively tested and are free of bugs or other problems that can be problematic for users. Nevertheless, testing composer packages may be a challenging and time-consuming task, particularly when attempting to assure compatibility with several PHP versions and avert potential conflicts with other packages and dependencies.
Developers don’t get to discover until they download the package from Packagist, and bootstrap a basic project to test it before they eventually use it on their project.
An example of the commands used to test a package
solution
Play, the composer package tester by PHPSandbox, provides a safe and convenient platform for testing composer packages, allowing PHP developers to test their packages quickly and easily in a sandbox environment that mimics the production environment in which the package will be used. Play not only provides a secure testing environment, but it also generates detailed reports on test results, allowing developers to easily identify any issues or bugs that need to be addressed.
Furthermore, Play serves as a platform for developers to search for and test Composer packages without the need to install or bootstrap a project. This feature saves developers time and effort because it allows them to quickly test the packages they are interested in without first creating a project.
Uncovering Insights:
Research Deliverables
During a team meeting one morning, Bosun (CEO) informed us of a problem he wanted us to solve as a company. In PHP, he mentioned composer packages, which are pre-written bundles of code that add functionality to PHP projects. However, in order to use these packages, developers must first test them on their own machines, which can take time.
Bosun proposed developing a platform that would allow developers to test composer packages without first downloading them. We recognized that this would significantly improve the workflow of PHP developers, who, unlike Node.js developers, did not have an NPM package tester.
We brainstormed additional features such as a saved history for developers to revisit and the ability to create a project directly from Play on PHPSandbox to improve the platform and integrate it with our existing product, PHPSandbox IDE.
We needed to move quickly because the project was time-sensitive, while also continuing to work on our other products. I was given the task of creating a sketch, which went through several iterations with the frontend and backend developers. After we finalized the design, I used Figma to create a full flow of the product.
Current task flow
Proposed task flow
Visuals
AUTHENTICATION?
The application doesn't require authentication to use. Our goal was to make the platform easily accessible to anyone without the need to create an account, which can be a barrier to entry for some users.
To track the platform's performance, we use the amount of Composer packages tested.
Although authentication is not required to use the application, users who want to save a package or create a project directly on PHPSandbox would need to create an account. This is necessary to help them save their records, which can be accessed later.
LEARNINGS AND CONCLUSIONS
After completing this project on Play, I've realized just how flexible I am when taking on new projects. Despite balancing my normal day-to-day tasks with this project, I could complete it on time without sacrificing the quality of my work.
Since the product's launch, I've been thrilled to see that it has been used 650 times without any advertisements, demonstrating Play's usefulness to PHP developers. I'm proud to have played a part in creating a tool that has helped many professionals.
In conclusion, the success of Play has not only shown me my capabilities but has also highlighted the importance of creating tools that meet the needs of the programming community. I'm excited to see what other projects I can take on and hope to continue contributing to developing innovative tools and technologies in the field.