-
Notifications
You must be signed in to change notification settings - Fork 0
TaskBoard Re Write
There is a complete re-write of TaskBoard currently underway. I am not using any of the existing code. If you're interested in its progress, you can look at the re-write
branch.
There will be a conversion script to allow users of v0.3.1
to update to the new database format (sqlite only).
- Maintenance of existing code is difficult
- It takes too long to determine where everything is
- There are no tests to ensure changes don't introduce regressions
- Tests cannot be easily added without a lot of refactoring anyway
- Contributions are rare, possibly because of this high barrier to entry
- The underlying frameworks have changed significantly
- Angular 2 is now available and TypeScript seems easier to reason about and maintain
- Slim Framework 3 is very different and has many improvements
- RedBeanPHP 4 has improved and changed as well
- Bootstrap wasn't really needed (its use very is limited for the amount of CSS)
- I am using Bourbon SCSS mixins and the Neat grid system instead (this reduces overall CSS output noticeably)
- There is no task runner for automating work
- The re-write effort includes the use of Gulp, npm, and Composer to manage dependencies and run tasks
- This allows for a completely ready-to-use release package for each version from
v1.0.0
onward
- This allows for a completely ready-to-use release package for each version from
- The re-write effort includes the use of Gulp, npm, and Composer to manage dependencies and run tasks
The new versions of PHP dependencies in use no longer support PHP prior to 5.5. Currently, the plan for the re-write is to officially support PHP 5.5 and 5.6 on Apache 2.4. PHP 7 support is planned, but not fully vetted at this point.
The first phase is to completely re-write the API. This includes separating logic and data into controllers and models. The currently planned API endpoints are available here in the new branch.
Once this is completed (including unit tests), the front-end work begins. This is another complete re-write - in TypeScript and using Angular 2 as the framework.
The amount of API calls will be noticeably reduced, as well as the ability to make fine-grained updates so having the page scroll randomly is no longer an issue.
Many of the existing issues get included in this effort, and any remaining will be closed in preparation for new issues relating solely to v1.0.0
and later.
The overall look and feel of TaskBoard stays basically the same. Some changes are to be expected as the Bootstrap framework is no longer in use. There is also a new color scheme, though it may change before work is complete.