Andrew KolpakovSoftware engineering
Power@work web framework

Power@work is an open-source web framework that is just perfect
for design-minded web applications with complex data structure.

Code generation

P@W provides a web-interface for creating and editing data model. Database tables and PHP classes are created automatically. Every data manipulation is easy and self-explanatory and covered with double-layer caching for better performance.

You can read business logic as a well-written story:

    $user->name = 'John';
    $user->balance -= 10000;
    foreach ($user->cars as $car)
      $fuelNeeded = $car->tankCapacity - $car->fuel;
      $car->fuel += $fuelNeeded;
      $user->balance -= $fuelNeeded * $fuel->price;

You don't need to worry about saving. Consistency with database is maintainted internally. And you are still free to change the generated code.

Template processing

Power@work supports templates and has no template engine. Intentionally.

That's why we create fully understandable business logic and crystal clear templates. Like this:

    <div class="user">
      <div class="name">{$name}</div>
      <div class="birthdate">{$birthdate}</div>

Ajax readiness

Power@work is not only ajax-ready, but is also ajax-hungry. In conjunction with jQuery, P@W makes makes AJAX so easy and natural that you don't even want to think about doing things in a traditional way.

If you have no technical limitations, go for AJAX every time and build an entirely client-side generated website.

Willingness to change

The core philosophy of P@W is building design-minded projects. And no one can design every detail in advance. That is not how the world works and is not how human mind operates.

Good ideas are coming while we are working, and P@W encourages you to make changes on the fly.

Ease of learning

P@W has no built-in sophisticated modules, template engines, widget constructors or form validators. P@W is just PHP and nothing more.

Start right from the beginning!


Yeah, that's true!

P@W wants you to forget about unnecessary details and to dive into a productive workflow.