Sage Web Application

  • Financing
  • Report generation
  • Virus scan for sensitive data
Expertise
  • Web Application
Industry
  • Business Services
  • Financial & Payments
  • NGOs

Sage Equities offers US investors to invest in real estate assets around the US. Sage office serves several stakeholders to help automate their day-to-day operations. In order to provide better service to its customers, Sage wishes to generate accurate investors reports and deliver it straight to the investor’s email.

  • Typescript
  • ReactJS
  • NodeJS
  • Redux
  • Redux-saga
  • Reselect
  • Immutable.js
  • MongoDB
18

Duration

Months

5

Team

Software Engineers

1

Context

The initial project requirement was to create an administrative system where it would be possible to manage all investors which are connected with Sage Equities company. The system was going to provide a way to manage investors, their registered investors, deals, investments made for deals, and the possibility to generate different types of reports during selected date periods.

2

Challenge

  1. The first challenge was how to design the database which would be scalable for future additions.
  2. The second problem was to understand all 4 types of reports and how efficiently can be organized, as well as generating excel and pdf containing multiple pages.
  3. The third problem was how to achieve having a shared module for reports generation which will be used in the Admin system and also in the Investor portal (separate project).
3

Solution

Here are the solutions that we used to solve the problems we had faced.

  1. We created a MongoDB database that would run under a dedicated cluster also designed the database diagram including all main collections.
  2. Prepared possible efficient Mongo aggregation queries for each report.
  3. Prepared architecture of codebase which would allow having separate reports module as a private node module for admin and portal repos.
4

Development Process

The development process was very organized by keeping the Scrum methodology: daily meetups with clients and dev team, prepare 2 weeks sprints, using the Jira task management system. The team was consists of senior back end and front end devs, QA engineer, and Project Manager.

5

Results

As a result, we have both admin and portal systems running under production environments already several months, and the development process is still ongoing.