Client Portal App

Stack: JavaScript, Python, React, Axios.js, Node.js, DevExtreme, Amazone Web Services (AWS)

Posted on May 10, 2021

March 2021 - June 2021

The Problem
The organization for which the Client Portal App was built have a strong relationship with clients who perform tests and activites on the organizations assets. The results of these tests and activities were previously sent from the clients to the organization using a legacy system. This legacy system was frustrating for clients to use and difficult for the organization itself to maintain. Storage became an issue with the legacy system and usability was creating friction for the users. Therefore, the organization endeavored to make a change and leverage the latest technology to create an app that gives users a seamless experience and overcomes all previous limitations of the legacy system.

We, the development team, were tasked with enhancing and developing the Client Portal App which would allow clients to upload files using an intuitive interface in an efficient and secure manner.

Leveraging the AWS Cloud
Amazon Web Services (AWS) provides cutting edge cloud technology and services. Many of these services were applied in the Client Portal App, including: S3, API Gateway, Lambda, Cognito… the list goes on.

Front End
The UI for the project uses React, DevExtreme (UI controls library) and AWS Amplify. It incorporates an intuitive step-by-step process for uploading files and the ability to view/filter/query existing files and their metadata (based on level of access). The front end incorporates business validation logic on varying file types. Custom metadata is added to the files upon upload allowing for customer filtering and searching.

Back End
Moving from front to back the UI makes calls to AWS using Axios.js which routes calls to the AWS API Gateway. Several API endpoints are configured to run Lambdas (Python) which are used for a variety of tasks (including retrieving data and uploading files). To overcome the storage limitations of the legacy system, S3 is used to store these sensitive documents. The storage structure is critical as it allows for files to be located easily and for accountability to be clear based on the files and their metadata (generated upon file upload). Throughout this process AWS Cognito is used to authorize and authenticate users when operating inside the app. Deployment and building of the project is done using AWS services including Code Commit, Code Build, and Code Deploy.

Project Results
The Client Portal App increases the quality of the file submission experience, enhances the business process automation, and creates a stronger relationship with clients using a real time reporting mechanism.

This is a full stack project that utilizes JavaScript, Python, React, Axios.js, Node.js, DevExtreme, and AWS.

Copyright © 2022 Chad Dundas Smith and Creative Tim