My first Project as a Software Developer

Jonathan Gan
4 min readApr 2, 2022

--

A React material UI Dashboard

React Dashboard in Dev
Drink Water
Photo by Shahadat Rahman on Unsplash

I recently was hire by ChainBytes LLC under BTM Compliance as a React Developer to aid in building the following:

A React Dashboard and API that could validate and populate the compliance of Providers of ATM owners.

Base:

We were given a stripped down version of their internal Dashboard and an example API for testing.

Our goal is to create the API that will be used with this Dashboard, And Maybe experiment with different methods to display the data.

First Update:

Me and my teammate Chris got our Dashboard up and running, We were later given a version with a working example Server, We haven’t done much but I have started taking notes of how we will need to proceed:

  1. Build an API that manages the data for our Dashboard
  2. Create a middleware that can Read Which Database the data belongs/Lives in

Learning API Resources:

Youtube:

Designing Restful API course:

Building RESTful APIs with Node.js and Express

Update 1

At this point I have a Working React Dashboard that uses a sample API

I am starting my journey building a custom API and I am going to document this as I go.

Github: https://github.com/jongan69/apiExample

This was a test Github built for the sake of using an API in React

Update 2

We just had a meeting on required items, This will all be turned into a To do list that will be built out on Monday.com

Most of the required tasks involve using an existing API

  • Citric Share File
  • Fincent API

— Use API’s to screen Operators and determine Compliance thus far (flag if over $10k in transactions)

Lucid Rough Design of Backend

To do:

  • Create API for Dashboard
  • Get access to Citrix Share File
  • Research RTK Query
  • Create a model for using RTK Query with Dashboard

https://redux-toolkit.js.org/rtk-query/overview

I will try to explain in plain language how to proceed with the project

We make a dashboard that a user can login to

The User gets a textbox that they can enter their wallets into

Our Dashboard then returns any hits

Types of users:

  • Super Admin
  • Network Operator
  • Compliance Officer (View Total Reports)

MVP:

At this moment we have a dockered Dashboard that allows for different Compliance Officers to login into the correct respective DB that houses their tenants and their information

Feature Requests / Todo:

Implementing Citrix Share-file API and creating an externally exposed API for customers to be able to post data given an API key

https://btmcompliance-next.vercel.app/dashboard

  • App needs to display the files available to the compliance officer from Citrix Share-file
  • App needs to be able to attach files with notes to a transaction or a customer

Update 3

At this point, I can begin finishing this article much more thoroughly

We are now using Citrix File Share to show files with in the dashboard, now we are implementing uploading files to proper respective locations from compliance officers

Once this is complete, we will work on being able to add generated reports that get uploaded as a file and then be able to display the files and notes attached

Types of reports that we should be responsible for

  • EDD (Enhance Due Diligence Report)
  • CDD (Customer Due Diligence Report)
  • OFAC
  • DILISENSE
  • PEP
  • SAR
  • CTRS
  • LICENSE PHOTOS
  • QUESTIONAIRE

Notification Center

Needs to be able to read the data of the files and give certain notifications

  • Documents should have a status assigned with expiration (archive || current), If Document expires soon, display notification

Update 4:

Files are being uploaded in two ways:

  1. Under tenant
  2. Under Customer

Notes and Files will be attached to Customers and Transactions

  • All Files will have notes, not all notes will have files

Attachment Object

{

Note:

File:

tiedToEntity:

tiedToEntityId:

}

--

--

Jonathan Gan

A Software Engineer who explores for clarity and observes for inspiration