Oliver Catania

Full-stack analytics platform

E-Commerce Basket & RFM Analytics Platform

A Dockerized platform where users upload CSV or XLSX files, clean million-row retail datasets in the background, review invalid records, export trusted data, and explore customer, basket, and revenue trends.

  • Java
  • Spring Boot
  • React
  • TypeScript
  • MariaDB
  • Docker / Docker Compose
  • Flyway
  • Apache POI
  • GitLab CI

Team project: seven-person software engineering team

RFM histogram dashboard showing basket-size and order-value distributions with date and country filters
Basket-size and order-value distributions with average, median, 90th percentile, and date and country filters.

Application walkthrough

Inside the platform

  1. A cleaning-job request starts asynchronous work while the frontend polls processed rows, completion percentage, and estimated time remaining.

    Cleaning job in progress at 312,021 of 1,067,371 rows, showing 29 percent complete and an estimated 380 seconds remaining
    An example million-row cleaning job reporting live progress.
  2. Raw data is cleaned or routed to manual review. Results are paginated, and Apache POI exports cleaned rows to Excel.

    Results page with tabs for successfully cleaned data, invalid items, raw data, Excel download, and a paginated records table
    Cleaned records, invalid items, raw data, and Excel export.
  3. RFM analysis combines recency, frequency, and monetary value with spend-based bubble sizing, monetary groups, and date and country filters.

    RFM customer scatter plot with recency and frequency axes, monetary color groups, spend-based bubble sizes, and date and country filters
    Customer behavior across recency, frequency, and monetary value.
  4. Country analytics show total revenue, country count, top country, exact revenue, and percentage share for a selected date range.

    Revenue share by country dashboard showing total revenue, 43 countries, top country, a donut chart, country revenue, percentage share, and date filters
    Revenue totals and proportional contribution by country.

Project details

Behind the application

Architecture

React and TypeScript connect to a Spring Boot REST API backed by MariaDB. Docker Compose defines the environment, and Flyway versions the schema.

Engineering workflow

Scrum, weekly standups, GitLab issues, merge requests and code review, wiki documentation, CI linting, unit tests, and mock-database or integration-style testing.