OO
All work

Live

Quantum Software

The company site and the API are separate deployments. Next.js renders the public pages. Node.js, in an MVC layout, owns the content API and PostgreSQL.

  • Next.js
  • Node.js
  • Express
  • PostgreSQL
Quantum Software website
Visit the site — quantumsw.tech

/ Problem

Quantum Software needed a public site and a way to manage case studies, without mixing admin code into the marketing pages.

/ My role

Founder and developer. I split the product into a Next.js site and a Node.js API, and I deployed them separately.

/ What I built

  1. 01A Next.js site for the company, deployed on its own.
  2. 02A Node.js backend in an MVC layout.
  3. 03PostgreSQL, in a database named quantum_db, with case-study content stored in JSONB.
  4. 04An admin user seeded with a bcrypt hash.
  5. 05A database trigger that sets updated_at.
  6. 06Shared API helpers: a response utility, an AppError class, and an async handler. Not-found handling runs before the central error middleware.
  7. 07On the live response: nosniff, a referrer policy, a permissions policy, and SAMEORIGIN framing. The response does not send X-Powered-By.

A rewrite that would expose the dashboard at /admin was discussed. It is not listed here as live behavior. CORS was set for local development and still needs a production check.

/ One hard part

The site and the API ship apart

Pages stay on the Next.js project. Hashing, errors, and the database stay on the API. A content change does not require folding admin code into the marketing site.