IOS Dracker Payment - An iOS and React app to send/receive money and manage debt

Overview

Payment App

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.

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

    

Dashboard

Existing Transactions

    

New Transactions

    

Summary

Profile

Wallet

Settings

        

iOS V1

Login/Register

            

Dashboard

            

Existing Transactions

        

New Transactions

        

Summary

    

Profile

    

Settings

            

Security

    

Miscellaneous

                            

React

Login

Password Reset

    

Register

    

    

Home

    

Wallet

Summary

    

Profile

Email Change

Password Change

    

Invalid Page

Text Messages

    

Emails

         

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

  • 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

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

You might also like...
Simple application to manage your task in IOS
Simple application to manage your task in IOS

ToDoList-in-IOS Simple application to manage your task in IOS Functional Require

TodoList-iOS-master - DailyCheck makes it easy to manage your to-dos by date

Daily Check DailyCheck makes it easy to manage your to-dos by date. App Store Do

An experiment to use Firebase and React Native to build a wwdc.family app
An experiment to use Firebase and React Native to build a wwdc.family app

wwdc.family This is an experiment to use Firebase and React Native to build a wwdc.family app. Don't use that source code as reference - I have no pri

A SwiftUI implementation of React Hooks. Enhances reusability of stateful logic and gives state and lifecycle to function view.

SwiftUI Hooks A SwiftUI implementation of React Hooks. Enhances reusability of stateful logic and gives state and lifecycle to function view. Introduc

In this mini app covered the concepts like basics of SwiftUI and Navigations and Animations and List with CRUD functions and MVVM and App Launch and App icons adding and also applied persistence using UserDefaults Concept.
In this mini app covered the concepts like basics of SwiftUI and Navigations and Animations and List with CRUD functions and MVVM and App Launch and App icons adding and also applied persistence using UserDefaults Concept.

TodoList In this application used the concepts from the beginner level project of SwiftUI_Evolve_1 The following concepts covered in this mini app Swi

Todo is an iOS App written in Swift. This app is used for an online video training course. This app demonstrates how to use UITableViewController.
Todo is an iOS App written in Swift. This app is used for an online video training course. This app demonstrates how to use UITableViewController.

Todo Todo is an iOS App written in Swift. This app is used for an online video training course. This app demonstrates how to use UITableViewController

An iOS app that visually clones Spotify's app and consumes the official Spotify's Web API to show(and play) songs, podcasts, artists and more.
An iOS app that visually clones Spotify's app and consumes the official Spotify's Web API to show(and play) songs, podcasts, artists and more.

SpotifyClone An iOS app that visually clones Spotify's app and consumes the official Spotify's Web API to show(and play) songs, podcasts, artists and

This To-Do app was developed using Swift and SwiftUI and works on iOS, MacOS (Apple Silicon) and WatchOS. The tasks are kept on storage even when the app is restarted.

ToDo-SwiftUI This app has a lot of sentimental value for me, given that it helped me a lot to understand the process of doing an iOS app and became th

The app provides additional actions for the Shortcuts app on macOS and iOS.
The app provides additional actions for the Shortcuts app on macOS and iOS.

Actions Supercharge your shortcuts The app provides additional actions for the Shortcuts app on macOS and iOS. Submit action idea (Submit an issue bef

Owner
Dharmendra solanki
𝕴 𝖍𝖆𝖛𝖊 𝖆 𝖕𝖆𝖘𝖘𝖎𝖔𝖓 𝖋𝖔𝖗 𝖑𝖊𝖆𝖗𝖓𝖎𝖓𝖌 𝖆𝖓𝖉 𝖘𝖍𝖆𝖗𝖎𝖓𝖌 𝖒𝖞 𝖐𝖓𝖔𝖜𝖑𝖊𝖉𝖌𝖊 𝖜𝖎𝖙𝖍 𝖔𝖙𝖍𝖊𝖗𝖘 𝖆𝖘 𝖕𝖚𝖇𝖑𝖎𝖈𝖑𝖞 𝖆𝖘 𝖕𝖔𝖘𝖘𝖎l
Dharmendra solanki
A basic app to convert your money between USD, EUR and JPY.

Currency Converter App for iOS What frameworks and technologies used VIPER + MVI as architecture pattern Stevia for UIKit Layout Alamofire for Network

Arthur Zavolovych 2 Nov 2, 2022
A weather app developed in React Native. It is the React Native version of SwiftWeather.

ReactNativeWeather A weather app developed in React Native. It is the React Native version of SwiftWeather How to run the app Install react-native If

Jake Lin 22 Jun 7, 2022
A SwiftUI iOS App and Vapor Server to send push notifications fueled by Siri Shortcuts.

Puffery An iOS App written in SwiftUI to send push notifications fueled by Siri Shortcuts. You can follow other's channels and directly receive update

Valentin Knabel 29 Oct 17, 2022
send your valuable codes here.

Hacktoberfest2021 # Hacktoberfest 2021 Hacktoberfest encourages participation in the open source community, which grows bigger every year. Complete th

null 8 Aug 13, 2022
Logger lets you quickly send messages to yourself as a means of fast note taking

Logger Logger lets you quickly send messages to yourself as a means of fast note taking. All messages you send to yourself show up chronologically. Ta

Nathan Borror 53 Nov 16, 2022
iOS Swift + Node.js app to manage and schedule twitter posts

PostManager iOS Swift + Node.js app to manage and schedule twitter posts (like buffer) Post Manager is an app built by me in free time, it's main feat

Tomasz Baranowicz 83 Aug 8, 2022
A App for Doctor to manage Patient's Information and Logistics Supplies

MckessonPlus A Project for HackDFW 2022 2nd Place at McKesson and 2nd Place at EssilorLuxottica A App for Doctor to manage Patient's Information and L

Frank Gao 2 Sep 27, 2022
iOS Open Source Application written in Swift. App to manage borrowed books at UFRGS using SABI.

RenovaLivrosUFRGS iOS Open Source Application written in Swift. App to manage borrowed books at UFRGS using SABI. App in portuguese, code and comments

Matheus Cavalca 5 Feb 10, 2022
CRUD - A simple iOS App to manage tasks

CRUD App ⭐ The App ?? A simple iOS App to manage tasks Setup ??‍?? Clone the rep

null 1 Feb 4, 2022
Home Assistant uses Bundler, Homebrew and Cocoapods to manage build dependencies

Home Assistant for Apple Platforms Getting Started Home Assistant uses Bundler, Homebrew and Cocoapods to manage build dependencies. You'll need Xcode

Home Assistant 1.1k Jan 8, 2023