Projects

List of my created packages and projects.

Basilisk

Named earlier as "Slytherin Skeleton", Basilisk is a skeleton application exclusively for the Slytherin framework which tries to achieve the SOLID principles in designing application structure. I use it mainly for creating new Slytherin-based projects and for rapid prototyping existing applications based on the mentioned framework. There was still code logic into it before (e.g. HTTP controllers, validators) but decided to separate it, create a package, and named it as Weasley.

Codeigniter

Started as being curious in reusing Codeigniter's core functionalities, Codeigniter is a Composer-based package which provides the "system" directory from the framework of the same name. It was also being used for testing framework-related packages such as Credo and Wildfire.

Credo

Credo is a special package that easily integrates Doctrine ORM into a Codeigniter framework. Initially based on the code generated Doctrine implementation from Combustor, I decided to create it as a separate package in order to reduce the functionality of the upcoming releases of Combustor and let it utilize the package instead of generating logic into the HTTP controllers and models.

Combustor

Based as a concept for a CRUD generator of the Codeigniter framework, Combustor is an opinionated MVC code generator wherein it checks the database scheme used by the application to determine the fields and functionalities needed to be generated. This package was created because I noticed a pattern of creating user interfaces and integrating functionalities to it for every project I handled. It was my primary package of choice when creating new applications with Codeigniter before I moved and created the Slytherin framework.

Datatables

Datatables is a wrapper for Doctrine and Eloquent in generating a server-side result to a Datatable instance. I decided to create this package because I was curious if it's possible to generate a server-side result with minimal configuration. I've been using this package for handling Datatables in the front-end.

Describe

Originally as a built-in functionality for Combustor, Describe is a package that determines the columns of a table in a database using PHP Data Objects (PDO). It is being used to my other projects Combustor and Refinery as well because of its useful functionality. It currently supports the database drivers of MySQL and SQLite.

Pilipinews

Pilipinews is a Facebook page wherein people can access to full news articles for free using the Facebook's Free Mode. It will gather new articles on legitimate news outlets and post it in the page. It is also my daily source of news since it will give me an overview what articles are currently posted. The project was written on PHP with Slytherin as the chosen framework.

Refinery

Initially planned as a new feature for Combustor, Refinery is a package for the Codeigniter framework in which generates database migrations based on the keywords and database tables provided by the developer. It was created before to focus myself more in designing database schemas than doing repetitive code implementation. This package is also my choice, together with Combustor, whenever I have a new project to be developed in Codeigniter.

Slytherin

Started as a web application in January 2014 and evolved into a micro-framework in November 2015, Slytherin is the product of all my learnings regarding the use of PHP Standards Recommendations, SOLID-based design, and from the frameworks Codeigniter and Laravel. It is being used as my chosen framework in all my private projects and also in my work as well if allowed by the management.

Spark Plug

Created first as a experiment on how to integrate the Codeigniter framework to PHPUnit, Spark Plug is a package that returns Codeigniter applications as single variables that can be useful to testing frameworks such as Behat, Codeception, and PHPUnit. It uses the whole Codeigniter application directory and be able to create unit tests to it.

Transcribe

Started as a sample project for learning SOLID-based design, Transcribe is a package that stores strings from different sources such as database and plain .php files and be able to use it as a localization package to current web applications. This package was heavily inspired by the Localization package of Laravel.

Weasley

Planned initially as a command application, Weasley is a package that provides generators, helpers, and utilities for rapid prototyping of Slytherin-based applications. I decided to create this package because I observed that I used the same functionalities across projects that were built into mentioned framework during that time. It is also my main tool as of now when creating new projects based on the Slytherin framework.

Wildfire

Similar to the package origins of Credo and being inspired by the Eloquent ORM from Laravel, Wildfire is a wrapper for Query Builder Class from Codeigniter framework. When I was still developing projects in Codeigniter, I use this package for rapid prototyping of application structures. I have also a goal for this package which is to be swappable with Credo and vice versa.

Windstorm

Resulted as an idea for swapping Doctrine and Eloquent in a single interface, Windstorm is a chainable, expressive, and interoperable SQL query builder initially based on top of Doctrine's Database Abstraction Layer (DBAL). I decided to create this library because I don't see any existing packages yet that integrates different ORMs and SQL query builders into a single and understandable interface. It is also being used as my main package for creating new and framework-agnostic applications.

Zapheus

Zapheus is a PHP micro-framework that was inspired from the concepts and structures of different popular and unpopular PHP frameworks like Laravel and Symfony. Even though I also created Slytherin which has identical functionalities, my goal for this framework is to create a bridge between framework-specific packages, support the oldest PHP versions to latest ones, and should be seamlessly compatible or equal with Slytherin in terms of features.