Centralized Cloud Reporting System_

Custom Cloud Application - Under Active Development

...

Project Details_

Project_

Development of a versatile Centralized Reporting Cloud Application, with a specific deployment in the Medical Industry.

Project Roles:

Software ArchitectureDatabase ManagementFrontend DevelopmentBackend DevelopmentSecurity & AuthenticationSupport

Project Tech:

JavaScriptNodeJSReactReact Context APINextJSPostgreSQLMySQLWordPressDockerDockerhubMaterialUIPostmanGithubCI/CD ManagedDigital Ocean Droplets

Centralized Cloud-based Reporting System (app)

Overview

I single-handedly developed a robust Centralized Cloud-based Reporting System that enables board members to effortlessly overview their company's growth. From current and new members to broad growth trends, this cutting-edge cloud application is your all-in-one destination for corporate analytics.

This product has been architected from the ground up, employing industry-standard technologies such as JavaScript, NodeJS, NextJS, PostgreSQL, MySQL, Docker, and MaterialUI. Rigorous testing has been performed using Postman for endpoint testing. Ensuring security, robust authentication, and adhering to best development practices were paramount during development.

Architecture

NodeJS Servers

The system runs on two NodeJS servers:

  1. API server: Powers the backend functionality
  2. NextJS server: Drives the frontend interface

PostgreSQL Database

A PostgreSQL DB is employed to store refined and adjusted data according to specific user requirements.

API Server

The API server serves as a conduit between multiple databases and external API services. It manages data from diverse sources such as a WordPress CMS database, Google Analytics, and many more. This eliminates the need for users to log in to multiple reporting systems, offering a single consolidated view of all relevant data.

Core Features

WordPress MemberPress Integration

The system integrates with MemberPress, a widely-used WordPress plugin. The standard MemberPress API endpoints did not offer the detailed and customized data needed for the client's business model, especially regarding data stored in custom fields.

Instead, I developed an innovative query system within the NodeJS API server that connects directly with the WordPress MySQL DB via SSH. This system pulls only the necessary data from different tables and processes it for efficient utilization.

Data Optimization

The NodeJS API server collates and sorts the extracted data before importing it onto new custom tables in the PostgreSQL database. This means a member’s data isn't scattered across multiple tables or tucked away inside serialized arrays. Instead, each data point finds its place in a dedicated field within a single table, allowing for swift data retrieval and simplified SQL queries.

Frontend Development

The frontend interface was crafted using NextJS, a NodeJS and React framework. This decoupled solution provides enhanced scalability, performance, and security. The NextJS app and server are the exclusive communicators with the API NodeJS server, ensuring efficient resource allocation.

Design & Data Visualization

To expedite development and maintain consistency in components, the MaterialUI theme framework was used. The data visualization on the platform uses a blend of React Graphs and Google Graphs for intuitive and impactful data representation. The frontend app also includes a data update feature to pull the latest data from the WordPress MySQL database.

Security Measures

The security of the system is assured by:

  1. IP Restriction: The API server accepts requests exclusively from the frontend app server's IP.
  2. Endpoint Authentication: Each endpoint implements authentication via middleware.
  3. Validation: Every endpoint undergoes rigorous validation.
  4. Database Security: Database security is enforced through CA certificates and login authentication.

Closing Remarks

This Cloud-based Reporting System, completely designed, architected, and developed by me, is a testament to my capabilities in handling a project from inception to fruition. It's not just about building a functional system; it's about creating an intuitive and secure environment that addresses specific business needs. Your trust in me for your next project is not just a contract; it's a commitment to quality and innovation.