Started in 2017, Miam.pizza is a free-to-use website targeted towards pizza restaurants and food trucks owners. It is a side-project that I regularly improve to add new features and to experiment with some technologies or concepts that I want to try out.
What problem did I solve?
Living in the French countryside, I often wondered where and when my favourite food truck will be available. I decided to design and develop Miam.pizza in order to solve that problem.
Any pizza restaurant or food truck owner can sign-up and instantly gets access to its own webpage. Managed exclusively via the front-end, a user can setup its webpage and display useful information to its clients, such as:
- a categorized restaurant menu with items photo, name, ingredients and price(s)
- the restaurant opening times or food truck routine displayed on a map
- a list of various services that the business offers
Alongside with this data made public for business customers, the restaurant owner has access to a private tool to create server-side generated images. These visuals are a great way to promote and animate their Facebook page with beautiful designs.
Homemade WordPress solution powered by ACF
The whole system is written from scratch and uses all the goodness WordPress can offer: post types and taxonomies, Rest API, hooks, shortcodes…
Sign-up and restaurant admin forms are handled with Advanced Custom Fields. Front-end forms are displayed conditionally, and smart hooks were added in order to trigger specific events when user does an action on the website.
Entities (pizzerias, pizzas, users and visuals) are accessed in the code via models and classes, to create an abstraction layer between data and views.
The front-end part of this project uses Roots Sage. It gives me a modern way to create the WordPress theme thanks to Gulp, SASS and Browsersync.
The visuals manager tool, allowing restaurants owners to generate custom designs, was a great opportunity to play around with ReactJS. The UI of this tool is a small ReactJS application, communicating with WordPress via the Rest API.
On the server-side, PHP image generation is handled via Intervention.