Ferreteria
Jump to navigation
Jump to search
Ferreteria is a web application framework I'm writing in PHP. It originally emerged from writing VbzCart, when I realized a lot of the classes and techniques I'd created (starting with the database classes) could be used for other applications as well.
Because it does not use JavaScript (JS), it is very fast; response-times tend to be comparable to a "single-page app" framework written in JS, except that the initial load is as quick as subsequent reloads and all of the navigation links are bookmarkable.
Features
- User management
- log-in control: email-based account creation, password reset
- user-group assignment, group-permissions assignment
- State persistence via URL
- The only cookie stored is a single "session" cookie, which usually just stores the minimum needed for session security.
- Most app-state data is stored in the URL path, without even using the
?query
part of the URL, for practical and aesthetic reasons.
- Most app-state data is stored in the URL path, without even using the
- The only cookie stored is a single "session" cookie, which usually just stores the minimum needed for session security.
- Database wrappers
- classes for different types of tables, records
- classes for handling forms, controls, data fields
- functions for specific tables can be built by descending from more general classes
- URL-linkable tables, records
Applications
Ferreteria applications I've written or am working on:
Reference
- HTYP: official documentation
- HyperAdmin: an early (2005) description of what eventually became Ferreteria's login system
Notes
- 2020/06/12 node system conceptual design
- 2020/04/23 one issue around generalizing I/O format translation
- 2020/04/22 with regard to the idea that it's better to set out to write an app than to write a framework and how this calls into question the idea of writing Ferreteria...