Skip to content
You're viewing a demo project. Sign up free to analyse your own codebase.
Context

Full-stack application

Project type

Growing

Maturity

380

Files

45200

Estimated lines

Languages

TypeScript 30736 JavaScript 8136 CSS 3616 HTML 2712

Project understanding

9d ago

Purpose

A full-stack web platform for managing customer accounts, processing payments and serving a React-based dashboard. Built with TypeScript, Express and React with a PostgreSQL database.

Architecture

Monolithic Express backend serving a React SPA. API handlers in src/api/handlers/, business logic in src/services/, database access in src/models/. The frontend is a Create React App project under src/components/ with Redux for state management.

Entry points

  • src/index.ts — Express server bootstrap, registers middleware and routes
  • src/components/App.tsx — React root component, sets up routing and global providers

Key routes

  • /api/users User CRUD (GET, POST, PUT, DELETE)
  • /api/orders Order management with payment processing
  • /api/auth/login JWT-based authentication
  • /api/auth/register User registration with email verification
  • /api/billing Stripe integration for subscription management
  • /dashboard Main user dashboard (React SPA)
  • /settings User and org settings

Data flow

Requests hit Express middleware (auth, rate limiting, CORS)
route handlers validate input
services contain business logic
models interact with PostgreSQL via raw queries. Responses are JSON. The React frontend fetches from /api/* endpoints using axios.

Core dependencies

Express 4.x for HTTP, jsonwebtoken for auth, Stripe SDK for payments, axios for HTTP client, moment for dates, lodash for utilities, pg for PostgreSQL. Dev: TypeScript, Jest, ESLint, Prettier.

Dev workflow

Setup

npm install && cp .env.example .env && npm run db:migrate

Dev server

npm run dev (concurrent Express + React)

Build

npm run build (TypeScript compile + React build)

Test

npm test (Jest, limited coverage)

Deploy

Docker build → push to ECR → ECS deploy

Largest files

src/components/Dashboard.tsx ~842 lines
src/api/handlers/users.ts ~634 lines
src/services/billing.ts ~521 lines
src/components/DataTable.tsx ~498 lines
src/utils/validators.ts ~412 lines