This project is a full-stack inventory management dashboard built with Next.js (frontend) and Node.js + Prisma (backend), with Terraform configuration for AWS infrastructure provisioning.
- Frontend: Next.js, Tailwind CSS, Material UI (Data Grid)
- State Management: Redux Toolkit, Redux Toolkit Query
- Backend: Node.js, Prisma ORM
- Infrastructure as Code: Terraform
- Cloud Provider: AWS (Amazon Web Services)
- Interactive dashboard with charts and summaries.
- Inventory, products, users, and expenses management views.
- Global search across key data tables.
docker run --name inventory-postgres -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=postgres -e POSTGRES_DB=inventory_db -p 5432:5432 -d postgres:16Create server/.env:
DATABASE_URL="postgresql://postgres:postgres@localhost:5432/inventory_db?schema=public"
PORT=3001Create client/.env.local:
NEXT_PUBLIC_API_BASE_URL=http://localhost:3001cd server
npm install
npx prisma generate
npx prisma migrate deploy
npm run seed
npm run devcd client
npm install
npm run devOpen: http://localhost:3000
-
Backend (Node/Express)
- Build Command:
cd server npm install npx prisma generate npx prisma migrate deploy npm run build - Start Command:
cd server npm run start - Environment:
DATABASE_URL= from Render PostgresPORT= 3001 (Render injectsPORTautomatically)
- Build Command:
-
Frontend (Next.js)
- Build Command:
cd client npm install npm run build - Start Command:
cd client npm run start - Environment:
NEXT_PUBLIC_API_BASE_URL= your Render backend URL
- Build Command:
-
Postgres
- Create a Render Postgres database (free tier).
- Copy its connection string into the backend
DATABASE_URL.
Use the included render.yaml to create everything in one click.


