-
PHP 5.5.9+ (req for packages)
-
SQLite
-
Node.js, Gulp (installed globally)
-
Clone repo
-
run "composer install"
-
run "php vendor/bin/phinx migrate -e development"
-
I really did not bother with beautiful frontend validation, but you will be notified if input is invalid, and will not be able to submit anything.
-
Borrowed base code for paginator from: React Paginator (MIT Licence).
-
Made parser that parses time like Log Work in Jira. You can type 1 month or 2w, or just number that defaults to minutes.
And you can combine time units: 1 month 2days 3 minutes.
- I am probably the last person you would choose to design site for you.
For test I created "micro framework" with limited features somewhat inspired by laravel/lumen-framework, silexphp/Silex. All "framework" part is located in "framework" dir, I did not extract it to separate package.
Features include:
-
Routing with GET/POST routes (Framework class, wrapped nikic/fast-route)
-
Dependency Injection (Framework class, wrapped php-di/php-di)
-
Middlewares (Middleware class, my implementation)
-
Controllers (Controller class, my implementation)
-
Paginator (ArrayPaginator class, wrapped illuminate/pagination)
-
Responses (Response class, wrapped Symfony Response Classes)
-
Views (View class, wrapped twig/twig)
-
Eloquent ORM (Framework class, wrapped illuminate/database)
-
Migrations (robmorgan/phinx package)
What I skipped:
-
Basically everything on "framework part" that is out of scope of this task
-
Single style of exception handling
-
Configuration, all parameters are suited for demoing task, that's all
-
Left develop dependecies in