Giter VIP home page Giter VIP logo

mono-data-sync-demo's Introduction

Mono-Connect API Implementation

Quick Links

1. Overview

2. Implementation

3. Installation

1. Overview

Project #sweet-loans (link) is a simple web application that allows its users to connect their financial account, see their information, transactions, balances and also fetch real time data that happens on their financial account.
It is built with NodeJS Express, which basically implements the core features of the Mono-Connect API.

Walkthrough

  1. The web application has a basic authentication system, where a user can Login, Signup and Logout of the system.
  2. Once signed in, a user is faced with a dashboard where he has to link his account through the mono widget.
  3. On successful linkup, the page forces reload and fetches all the user's connected information right on the dashboard.
  4. Also from the side navigation, a user can view his account balance, his recent transaction history, and then all transaction histories with pagination.
  5. Lastly, you can force refresh by Data syncing manually on the Balances page.

2. Implementation

  1. Firstly, the application has Mono's widget embedded, for users to connect their bank account. Once successful, the application retrieves a code sent by Mono.

  2. After user has his/her account connected successfully, his Mono ID. is needed which leads to the application making a request with the provided code in 1, to Mono's Authentication Endpoint -> https://api.withmono.com/account/auth through POST Method here

  3. Once the user's Mono ID. is fetched and stored in the db, his connected user information is immediately fetched and loaded on the dashboard through Mono's API Identity Endpoint -> https://api.withmono.com/accounts/id/identity through GET Method right here

  4. The user can view his account balance through Mono's API Information Endpoint -> https://api.withmono.com/accounts/id through GET Method right here

  5. The user views his recent (last 20) transactions, through Mono's API transaction Endpoint -> https://api.withmono.com/accounts/id/transaction through GET Method right here

  6. Also, all transaction history with pagination is viewed, through Mono's API transaction Endpoint -> https://api.withmono.com/accounts/id/transaction?page=1 through GET Method right here

  7. Lastly, you can force refresh by Data syncing manually, which can be triggered with the button displayed on the Balances page.

You can register here to give this application a shot.

3. Installation

The first thing to do is to clone the repository:

$ git clone https://github.com/kingkenway/mono.git
$ cd mono

Local Environment Variables

Ensure you have your .env file created in the root directory, with the following parameters provided:

DATABASE_URL='Your Mongo DB URL'
MONO_SECRET_KEY='Your Mono Secret Key on your dashboard'
MONO_PUBLIC_KEY='Your Mono Public Key on your dashboard'
MONO_WEBHOOK_SEC='Your Mono Webhook Secret Key on your dashboard'
TOKEN='A random key identifier for JWT Verification'

Project setup

npm install

Compiles and hot-reloads for development

npm start

mono-data-sync-demo's People

Contributors

kingkenway 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.