This is a fullstack monorepo modern web UI for the Inspection App, built with Node.js, Nest.js, MongoDB, React, Next.js, React Query, and ShadCN. This frontend enables users to manage templates, properties, and inspections via a clean, responsive interface.
/
βββ apps/
β βββ backend/ # NestJS + MongoDB API
β βββ frontend/ # Next.js + React Query + ShadCN UI
βββ .gitignore
βββ package.json
βββ turbo.json
βββ README.md # This file
βββ ...
- api - NestJS app: Node.js API built with NestJS and MongoDB.
- ui - Next.js app: React UI built with Next.js, React Query, and ShadCN.
- turbo.json: TurboRepo pipeline configuration.
-
Template Management
-
Create, retrieve, and list inspection templates.
-
Templates support multiple question types: date input, string input, numeric input, single-choice, and multi-choice.
-
-
Object (Property) Management
-
Create, retrieve, and list objects representing properties.
-
Each object includes fields for name and address (street, number, city, postal code).
-
-
Inspection Management
-
Create inspections for specific objects using selected templates.
-
Fill out inspections by answering template-defined questions.
-
Retrieve and update inspections, including saving user responses.
-
Check out the readme for the sub folders ui and api respectively.
- Node.js (v18+ recommended)
- Docker & Docker Compose
- npm
Create a .env file using .env.example for both the apps/api and apps/ui add the following environment variables
-
#### API URL ENV VARS ### NEXT_PUBLIC_APP_API_URL=[YOUR_API_URL] #http://localhost:4000/api -
MONGODB_URI=[YOUR_MONGODB_URI] #http://localhost:27017/gcp MONGODB_URI_TEST=[YOUR_MONGODB_URI_FOR_TEST] #mongodb://localhost:27017/test_gcp API_PORT=[YOUR_PORT] #4000
From the root directory:
npm install
In separate terminals, run:
cd apps/api
npm run dev
cd apps/ui
npm run dev
Or use Turbo to run both in parallel:
navigate to root folder and run
npm run dev
This App is deployed to the vercel.app, please use this link to access the site https://inspection-ui.vercel.app/
Ravisankar Chinnam




