SalesTech

Hospital Software Quotation Platform

Context

An internal quotation web app built for the sales team and admins of a company that sells hospital and clinic software. It is built on React, TypeScript, Node.js, Express, and MongoDB, with login and roles, a package catalogue, 2 quote types, PDF and Excel export, and an admin dashboard.

The Hard Part

The company needed one place to manage users, software packages, and quotations. Priced software and service quotes for hospitals and clinics had to be turned into documents, and reps needed to see their own quotes while admins needed to see all of them.

What I Built

  • React 19 and TypeScript single-page app and a Node and Express REST API with MongoDB and Mongoose, across 2 repos
  • JWT login that expires after 1 day, bcrypt passwords, and a blacklist for logged-out tokens
  • Admin and user access with server checks, route guards, and a role-based menu, plus admin user management: create, edit, delete, deactivate, and password reset
  • Package catalogue with items, fees, and discounts, and a standard quotation flow with server-generated quote numbers that retry on duplicates and a 2-page PDF download
  • Remote patient monitoring quote type with hospital type, bed count, module selection, discount, live price preview, server-side pricing, an on-screen preview, and a PDF
  • Excel export for both quote tables and an admin dashboard with counts and month-over-month trends read from the database
  • Security with helmet, CORS, Mongo sanitize, hpp, a rate limit of 100 requests per 15 minutes, and a 10kb body limit, plus Docker images with nginx and a deployment guide

The Build

A company that sells hospital and clinic software needed one place to create, store and export priced quotes.

I built a quotation platform on React, TypeScript, Node.js, Express and MongoDB: admin and rep roles, a package catalogue with fees and discounts, 2 quote types (including remote patient monitoring) with server-side pricing, PDF and Excel export, and an admin dashboard with month-over-month trends.

The platform is secured with a token blacklist, rate limits and input sanitizing, with Swagger docs for all 22 endpoints.

Measured Results

2

quote types, each exported to PDF and Excel

2

roles, admin and sales rep, enforced by server checks and route guards

22

API endpoints, all documented in Swagger

Tech Stack

React 19TypeScriptVite 6Tailwind CSS 4shadcn/uiTanStack QueryReact RouterNode.jsExpress 4JWTbcryptjsMongoDBMongoose 7React PDFjsPDFxlsxDockernginxSwagger UI

More Case Studies

Have a similar project?

I would love to help you build something great. Let's discuss your requirements.