Level 1
Become a certified Hubleto developer.
The first level of certification ensures that the certified developer knows basics about Hubleto development process, its architecture, built-in functionality and most commonly used software design patterns like, e.g. routing, controllers or views.
You will learn how to:
- prepare the development environment
- deploy Hubleto to customer's server
- create custom apps
- define models, views and controllers
- install custom app with default data
Introduction
This document contains a training material for Hubleto Certified Developer training. It is a source of questions and answers for the certification programme.
To get a Level 1 certification, you shall pass the certification programme. Here you will find training materials and resources pass this programme.
Prerequisities
You shall have the following knowledge:
- At least junior level of PHP, Javascript, SQL, HTML and CSS.
- Optionally, junior level of React / Typescript - this is required only if a developer is going to implement react-based functionality.
- Experience with
composer- PHP’s package manager andnpm- Javascript’s package manager. - Experience with setting up a local development environment - a webserver (Apache or Nginx) with PHP and SQL database (MariaDB or MySQL).
- Good understanding of the MVC software design pattern.
Having this knowledge, a developer shall be able to configure his local development environment as described in this guide.
Resources
Before starting, check out these additional resources:
- https://www.hubleto.eu
- https://github.com/hubleto
- https://developer.hubleto.eu
- https://help.hubleto.eu
- https://community.hubleto.eu
- https://www.linkedin.com/company/hubleto
- https://www.reddit.com/r/hubleto/
- https://github.com/mrgopes/hubleto-car-rental
Lessons
The certification programme is divided into several lessons. Each lesson covers specific topic like, e.g. basic introduction to Hubleto or best practices in development.
Lesson #1: Introduction to Hubleto
- About Hubleto.
- Install production ready Hubleto using Composer.
- Overview of Hubleto apps and basic development tools.
Lesson #2: Overview of Hubleto features
- CRM, Marketing, Sales, Productivity, Finance, Maintenance, Help
- Users, settings, platform config and themes
- UI basics - sidebar, tables, forms, localization, searching
- App Manager
Lesson #3: Custom App Development - backend basics
- Create custom CarRental app.
- Overview of Model and RecordManager concepts.
- Create models (Car, RentalHistory) and their RecordManagers.
- Overview of 1:N relations.
Lesson #4: Custom App Development - frontend basics
- Overview of previous developments in custom CarRental app.
- Overview of DescriptionAPI with practical example (describeTable).
- Create controllers and views (Cars, RentalHistories).
- Use built-in React UI components (
) in views.
Lesson #5: Custom App Development - CarRental app
- Overview of previous developments in custom CarRental app.
- Recapitulation of backend programming.
- Recapitulation of frontend programming.
- Feedback from developers.
Lesson #6: Custom App Development - IpInfoTest app
- Development of IpInfoTest app
Lesson #7: Hubleto ReactUi basics
- Overview of ReactUi library.
- Using ReactUi in Twig.
- Most commonlty used properties of
. - Customizing table and form look&feel using DescriptionAPI.
Lesson #8: Models, RecordManagers and Migrations, part 1
- Overview of Model and RecordManager concepts.
- Definition of relations.
- Built-in record-manipulation API (record/save, record/delete, ...).
- Practical examples for belongsTo and hasMany relations.
- Customizing prepareReadQuery().
Lesson #9: Models, RecordManagers and Migrations, part 2
- Overview of Model and RecordManager concepts.
- Definition of relations.
- Built-in record-manipulation API (record/save, record/delete, ...).
- Practical examples for belongsTo and hasMany relations.
- Customizing prepareReadQuery().
Lesson #10: Description API
- Overview of Description API, it's purpose and basic principles.
- Configuration options for tables (describeTable).
- Configuration options for forms (describeForm).
- Configuration options for inputs (describeInput).
Lesson #11: Model callbacks
- Overview of available callbacks.
- Practical examples.
Lesson #12: Controllers
- Introduction to Hubleto controllers.
- Practical examples.
Lesson #13: Views
- Introduction to Hubleto views.
- Practical examples.
Lesson #14: Intergration with other apps, part 1
- Calendar
- Settings
- Workflow
- AI Assistant
Lesson #15: Intergration with other apps, part 2
- Dashboards
- Api
- Tools
Lesson #16: System-level apps
- Desktop
- Notifications
- Developer tools
- Audit Logs
Lesson #17: Miscellaneous
- Testing
- Best practices for UI (friendly URLs, level 2 sidebar, app menu, breadcrumbs, ...)
- Import / Export CSV
- Localization
- Sidebar badge
Lesson #18: Finalilzation of Level 1 certification
- What we have learned?
- Feedback from developers.
- How to get the Level 1 certificate.
