Giter Club home page Giter Club logo

architecture-katas's Introduction

Architecture Katas - Farmacy Food

Presentation

View Presentation

Overview

Overview

Farmacy Food is a tech-enabled healthy food startup that creates tasty meals around people's dietary needs and active lifestyles to support their overall well-being.

Their mission is to make health and wellness radically affordable and accessible.

Let me explain the basic concept of Farmacy Food:

  1. Farmacy Food is a “Ghost Kitchen” which will prepare the meals.
  2. We use Smart Fridges and Sub-let spaces in other businesses as our Points of Sale. So, the meals are delivered to these POS from the Kitchen.
  3. Customers will check availability of meals using Mobile/Web App in the nearby Points of Sale.
  4. Customers go to the nearest available POS and purchase or pick-up the meals.
  5. The system has to maintain the inventory levels in the Smart Fridge and other POS.

Some Long Term goals are:

  1. Allowing multiple vendors or kitchens to provide meals using our system.
  2. Provide personalized recommendation based on user profile & purchase history.

Step 1

Identifying the Users/Clients

  1. Customers
  2. Vendors
  3. Kitchens
  4. Smart Fridges
  5. Kiosk / POS Systems
  6. Admin

Identifying Use Cases and deriving components

Use-Case Analysis

Step 2

Overall High-level Architecture

High Level Architecture Diagram

Architecture Approach for Farmacy Food Service - Decision Records

  1. Monolithic Design
  2. Serverless Design

Moving ahead with the Serverless design for the Farmacy Food Service.

Step 3

Architecture of POS integration

Decision Record: POS Integration Design

POS Integration Architecture Diagram

Step 4

Component & Sequence Diagrams

Component Diagram

Vendor Registration

Vendor Sequence Diagram

Kitchen Registration

Kitchen Sequence Diagram

Adding Menu Items

Menu Sequence Diagram

Kitchen Order Placement

Kitchen Order Placement Diagram

Expiry Tracker

Expiry Tracker Diagram

Online Order Reservations

Architecture Decisions:

Inventory Updates Communicaiton

Payment Service Communication

Order Resevation Diagram

Purchasing Meal offline

Architecture Decisions:

POS Integration

Purchase Meal Diagram

Create Surveys

Create Surveys Diagram

Create Coupons

Create Coupons Diagram

Step 5

Components Architecture Characteristics

Component Description Architecture Characteristics
Inventory As this is one of the system's core
components, it need to be highly available,
provide necessary responses to other system services
in short time.
1- Scalability
2- Performance
3- Availability
4- Reliability
Expiry
Tracker
This job needs to run daily but should be
quick enough to analyze all items that are expired.
1- Performance
Feedback This component is highly needed to render the menu,
and thus needs to be highly available and performant.
1- Performance
2- Availability
3- Customizable
User Profile User Profile will provide users' data and authentication services 1- Availability
2- Performance
3- Reliability
4- Scalability
Coupons Coupons service will be used mainly to create promotional coupons and validate them. 1- Availability
2- Reliability
3- Customizable
Menu Catalog Menu Catalog will hold the menu for all enabled items and it will manage adding/removing/disabiling menu items as well as listing menu items for customers. 1- Availability
2- Performance
3- Customizable
4- Scalability
5- Reliability

architecture-katas's People

Contributors

alielkhateeb avatar gnuton avatar icedhacker avatar mohamedhamed-ahmed avatar shenalsenarath avatar zaloisio avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.