Code Monkey home page Code Monkey logo

essentialapp's Introduction

EssentialApp

Essential App case study

// *** BDD Stories *** //

// Narrative #1

As an online customer
I want my app to automaticaly load my latest image feed
So I can enjoy the newest images of my friends
  • Scenarios (Acceptance criteria)

    Given the customer has connectivity When the customer requests to see the feed Then the app should display the latest feed from remote And replace the cache with the new feed

// Narrative #2

As an offline customer
I want my app to show the latest saved version of my image feed
So I can always enjoy images of my friends
  • Scenarios (Acceptance criteria)

    Given the customer has no connectivity And there's a cached version of the feed When the customer requests to see the feed Then the app should display the latest feed saved

    Given the customer has no connectivity And the cache is empty When the customer requests to see the feed Then the app should display an error message

// *** Use Cases *** //

// Load Feed Use Case

  • Data(Input)

    • URL
  • Primary course (Happy path):

    1. Execute "Load Feed Items" command with above data.
    2. System downloads data from the URL.
    3. System validates downloaded data.
    4. System creates feed items from valid data.
    5. System delivers feed items.
  • Invalid data (Sad path):

    1. System delivers error.
  • No connectivity (Sad path):

    1. System delivers error.

// Load Feed Fallback (Cache) Use Case

  • Data(Input)

    • Max age
  • Primary course (Happy path):

    1. Execute "Retrieve Feed Items" command with above data.
    2. System fetches feed data from cache.
    3. System creates feed items from cached data.
    4. System delivers feed items.
  • No cache course (Sad path):

    1. System delivers no feed items.

// Save Feed Use Case

  • Data(Input)

    • Feed Items
  • Primary course (Happy path):

    1. Execute "Save Feed Items" command with above data.
    2. System encodes feed items.
    3. System timestamps the new cache.
    4. System replaces the old cache with new data.
    5. System delivers a success message.

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.