Skip to content

A budget tracker application that allows user to log deposits and withdrawals with or without a connection.

Notifications You must be signed in to change notification settings

dsmooke/purse-strings

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Purse Strings

Express MongoDB Mongoose schema Morgan M.I.T. License use

Description

A budget tracker application that allows user to add expenses and deposits to their budget with or without a connection. Offline transactions will populate total when back online.

View the deployed application here.

main-demo

Table of Contents

Technologies Used

  • Node
  • Express
  • MongoDB
  • Mongoose
  • PWA
  • Compression

Definitions

  • PWA: Progressive Web Applications; native-like capabilities; ability to open app when not online.
  • manifest.webmanifest: a file we upload that describes the application; json describing a js object
  • service worker: background interface, a javascript web worker; allows to run the app before the browser loads; able to cache any service you make; allows us to work offline (can view what happens and what it does when the app is offline)
  • cache, caching: (v). to store (data) in a cache memory; (n). an auxiliary memory from which high-speed retrieval is possible.

Goals

  1. Add functionality to existing Budget Tracker application to allow for offline access and functionality.
  2. Offline Functionality:
    • Enter deposits offline.
    • Enter expenses offline.
  3. When brought back online:
    • Offline entries should be added to tracker.
  4. Incorporate indexedDB in order to cache dynamic, i.e. users' inputs for withdrawals or deposits. (Use Google to research this topic).
  5. Deploy application with Heroku and MongoDB Atlas

User Story

AS AN avid traveller
I WANT to be able to track my withdrawals and deposits with or without a data/internet connection
SO THAT my account balance is accurate when I am travelling.

Business Context

Giving users a fast and easy way to track their money is important, but allowing them to access that information anytime is even more important. Having offline functionality is paramount to our application's success.

Acceptance Criteria

GIVEN a user is on a Budget App 'Purse Strings' without an internet connection
WHEN the user inputs a withdrawal or deposit
THEN that will be shown on the page, and added to their transaction history when their connection is back online.

Installation

cache-demo

serviceworker-offline

offline-pending-transaction

Developer

Used MongoDB and Mongoose

mongo-playground

Credits

Offline Cookbook

What does it take to be installable?

Contact

Dana Smooke

License

MIT


© 2020 Trilogy Education Services, LLC, a 2U, Inc. brand. Confidential and Proprietary. All Rights Reserved.