A full-stack user management platform

Full-stack product · User administration · REST API

A React and Vite client connected to a NestJS API for managing user profiles and related records with PostgreSQL transactions.

Role
Full-stack Developer
Platform
React web app + NestJS API
Blank four-step profile form from the live user management app.
Guided profile workflowOpen project

The work

The project pairs a React and Vite web app with a NestJS API and PostgreSQL database. Its current connected slice includes a user list and an endpoint that accepts the related records together.

The challenge

A user record spans profile, contact, address, and academic history. Saving each piece independently can leave partial records and force the client to coordinate several requests.

Approach and architecture

I modeled related records as one user aggregate and implemented a versioned REST endpoint that writes the aggregate in a single PostgreSQL transaction.

TypeORM migrations keep schema changes explicit, with automatic schema synchronization disabled. The web client connects to the API through Redux Toolkit and RTK Query, and Swagger documents the API surface.

My contributions

  • Defined the user aggregate entities, DTOs, and migration for profile and related records.
  • Built REST endpoints with transaction-safe aggregate creation and API documentation.
  • Connected the React and Vite app shell to the API and user list with RTK Query.

Outcome

The current slice connects the React client to documented NestJS endpoints and transaction-safe PostgreSQL persistence. The live app and API docs let visitors explore both sides of the product.

Technologies

  • React
  • Vite
  • TypeScript
  • Redux Toolkit
  • RTK Query
  • NestJS
  • TypeORM
  • PostgreSQL
  • Docker Compose
  • REST API
  • Swagger / OpenAPI
Back to selected work