Sirui Chen·sirui.dev

Project

SafeCommerce-LA

Full-stack analytics for LA crime data and California retail sales.

ReactPythonPostgreSQLJWTSQL OptimizationREST APIs

Overview

Authenticated dashboards, maps, charts, filters, and CSV export over a PostgreSQL schema that joins LA crime data with California retail sales records. Graded 99/100.

Problem

Crime and retail data live in separate silos with different shapes, so neighborhood-level questions like 'where do high-crime areas overlap with declining retail sales?' are hard to answer without expensive joins and slow ad-hoc queries.

What I built

Designed a PostgreSQL schema that normalizes both datasets, exposed reusable query endpoints behind JWT-authenticated APIs, and built a React dashboard with maps, charts, filters, and CSV export so users could drill from city-wide trends to a single store.

Architecture

  • React frontend with authenticated dashboards, maps, charts, filters, and CSV export
  • Python REST API layer with JWT-protected endpoints
  • PostgreSQL schema with joins, CTEs, aggregations, and supporting indexes
  • Query layer uses caching and restructured SQL to keep dashboard queries under interactive latency

Technical highlights

  • Designed the PostgreSQL schema and optimized SQL with joins, subqueries / CTEs, aggregation, indexes, caching, and query restructuring.
  • Built authenticated workflows for neighborhood risk analysis, sales trends, high-crime areas, and store-level reporting.
  • Implemented CSV export so analysts could pull filtered slices into downstream tools.

Impact

  • Project earned 99/100 in the Database and Information Systems course.
  • Made cross-domain LA crime and CA retail questions answerable interactively.