close
The Wayback Machine - https://web.archive.org/web/20201003173432/https://github.com/raghavbhasin97/Dracker
Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
img
 
 
 
 
 
 
 
 
 
 

README.md

Dracker

Swift Version Platform Build Status

An iOS and React app to send/receive money and manage debt. This app allows users to create transactions, add descriptions, tag images, tag notes, and manage them. It features a rich and immersive user experience with 3D touch, quick actions, Actionable User Notifications, and Touch ID/Passcode capability for secure authentication.

Image

UI

iOS V2

A more refined UI that utilizes the Tab Bar style along with some of the latest HCI guidelines. A total redesign of a few screens and a new completely customizable Action Sheet component.

Login & Forgot Password Screens

Image    Image

Dashboard

Image

Existing Transactions

Image    Image

New Transactions

Image    Image

Summary

Image

Profile

Image

Wallet

Image

Settings

Image    Image    Image

iOS V1

Login/Register

Image    Image    Image    Image

Dashboard

Image    Image    Image    Image

Existing Transactions

Image    Image    Image

New Transactions

Image    Image    Image

Summary

Image    Image

Profile

Image    Image

Settings

Image    Image    Image    Image

Security

Image    Image

Miscellaneous

Image    Image    Image    Image    Image    Image    Image    Image

React

Login

Image

Password Reset

Image    Image

Register

Image    Image

Image    Image

Home

Image    Image

Wallet

Image

Summary

Image    Image

Profile

Image

Email Change

Image

Password Change

Image    Image

Image

Invalid Page

Image

Text Messages

Image    Image

Emails

Image   Image   Image   Image

Features

Current

iOS

  • Adding transactions with other people via phone number.
  • Registeration of new users/ Login functionality.
  • Authentication via Firebase
  • Unique QR Code and adding transaction using QR Code.
  • Access to data anywhere via AWS.
  • Text messages when payments are completed.
  • Ability to connect bank account (plaid integration).
  • Sending/Recieving money through ACH.
  • Taggable transactions. An image (such as a bill) can be tagged with the transaction.
  • Saving tagged images to camera roll.
  • Enabling/disabling user notifications.
  • Actionable notifications (ability to silence a particular payment reminder).
  • User ratings based on transaction history.
  • Enabling/disabling touch ID.
  • 3D touch compatibility for Quick Actions.
  • 3D touch for Dashbard table cells.

React.js App

  • Retriving Transactions list.
  • Registeration of new users/ Login functionality.
  • Authentication via Firebase
  • Access to data anywhere via AWS.
  • Access to your Dracker dashboard, wallet, summary and profile.
  • Updating email and password.
  • Setting default funding source.

Requirements

  • iOS 10.0+
  • Xcode 9.3
  • Swift 4.1
  • React.js 16.6
  • npm 2.1

Architecture

Rest API

Image

  • API Gateway and AWS Lambda are used to deploy the REST API
  • DynamoDB is used to store all the data for user transactions and other details
  • S3 is used to store profile images and tagged images with transactions
  • Twilio is used to send messages
  • Firebase is used for Authentication
  • SendGrid for Emails
  • Plaid for Bank Account Integration
  • Dwolla for triggering ACH Transactions

iOS Application

Image

  • Dracker API for all operations (REST API calls)
  • Firebase is used for Login (Username/Password Validations)
  • Plaid for Bank Integrations (Getting an authentication token to exchange at backend)

Modules/Integrations Used

  • Dwolla (ACH Transactions API and identity validation with verified customer)
  • Plaid (Connecting user's bank account to dwolla)
  • AWS (Backend)
  • Twilio (payment completion notification)
  • Firebase (Authentication)
  • DZNEmptyDataSet (For nice empty cell look)
  • Alamofire (API calls)
  • SendGrid (for emailing Welcome, Verification, Note and Email change messages)

Scripts

Cleanup

A configrable automation script that cleans up the AWS and Dwolla environment from test data. To be run pre-deployment in production. Script allows accounts to be preserved by adding the 'Email' in 'preserve_users.txt' file.

Webhook

A webhook created for dwolla, that handels clearing of ACH transactions. In case of successful ACH clearing, it sends out a text to the customer with transaction details. In case of unsuccessful ACH clearing, it sends out a text to the customer with transaction details and Dracker entry so the customer can track back and re-attempt to settle the payment.

Meta

Raghav Bhasin – @bhasin97[email protected]

You can’t perform that action at this time.