Introduction

BurgerX is a food ordering platform which consists of a mobile application made with Flutter and a REST API backend made with NodeJS hosted at Heroku.

The mobile application is designed in a reactive way making use of RX Dart to enable flow of events from one screen to another and leveraging stream combination.

The architecture features Bloc pattern with scoped blocs for each major function i.e handling registration, menu logic and cart logic.

Placeholder Loading

another pic

The first screen after login in is the menu which makes use of placeholder loading to enable the user to have an idea of what the layout is before the data is loaded from the API.

another pic The menu consists of tabs for the three different categories of menu items: burgers drinks and meals.

Cart

another pic The cart enables the user to view items picked and modify by either increasing or decreasing quantity.

Items stored in the cart are stored in a local SQLITE database to enable users to have access to their cart while offline.

Checkout

another pic

The final screen captures the total order amount and provides user with three payment options: Mpesa, cash on delivery or card payment.

The source code can be found on: