I found WordPress extremely useful as base for medium sized web apps, without too much traffic. Building a small application, for example a restaurant table booking system, from scratch or even with a framework like Rails or CakePHP, would involve thinking about database scheme, controller structure, authentication, user interfaces etc. A lot of this stuff WordPress is already doing: you already have rough user management, a working admin interface and you only have to think about how to map your data-model to the already existing WordPress database structure.
Our use case: A recipe database
Now, I want to show you how to implement a simple recipe database with WordPress. Requirements are really basic:
- Allows adding recipes and editing them just like ordinary posts or pages
- Allows categorizing recipes in hierarchical categories like Healthy -> Chicken -> Marinated Chicken Breasts
- Allows adding ingredients to a recipe and finding recipes by ingredients
- Allows adding quantities to ingredients of a recipe, e.g. 500ml milk, 20g sugar, 3 tablespoons olive oil