From 4630e7fe89f4bf1a6330a34e3c6a784eb8b40b14 Mon Sep 17 00:00:00 2001 From: azeeee05 Date: Sat, 5 Sep 2026 17:50:24 +0530 Subject: [PATCH] feat: add environment-specific build configurations and documentation for production and test deployments --- .env.production | 1 + .env.test | 1 + README.md | 28 ++++++++++++++++++++++ package-lock.json | 59 +++++++++++++++++++++++++++++++++++++++++++++++ package.json | 3 +++ 5 files changed, 92 insertions(+) create mode 100644 .env.production create mode 100644 .env.test diff --git a/.env.production b/.env.production new file mode 100644 index 0000000..96ccd8f --- /dev/null +++ b/.env.production @@ -0,0 +1 @@ +NEXT_PUBLIC_LOGIN_URL=https://app.docqube.com/login diff --git a/.env.test b/.env.test new file mode 100644 index 0000000..e337cf9 --- /dev/null +++ b/.env.test @@ -0,0 +1 @@ +NEXT_PUBLIC_LOGIN_URL=https://docqubeapp-test.maskantech.in/login \ No newline at end of file diff --git a/README.md b/README.md index e215bc4..e6f415a 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,15 @@ +# DocQube Landing Page + +DocQube is an all-in-one document management and AI platform that unites four core products: +- **Drive**: Document management + AI +- **PDF Editor**: True-reflow editing +- **Workflows**: Route, approve, sign +- **Sign**: Verified e-signatures + +This repository contains the Next.js marketing landing page built to showcase DocQube's solutions for various audiences including Enterprise, Legal, Real Estate, and Operations. + +--- + This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app). ## Getting Started @@ -34,3 +46,19 @@ You can check out [the Next.js GitHub repository](https://github.com/vercel/next The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details. + +## Environment & Build Scripts + +This project is configured with multiple environments for seamless deployments and testing. + +### Environment Variables +- `.env` / `.env.local`: Used for local development (default points to `http://localhost:5173`). +- `.env.test`: Used for test environments (points to `http://localhost:5173`). +- `.env.production`: Used for the live production build (points to `https://app.docqube.com/login`). + +**Note:** Environment files (`.env*`) are ignored in Git to keep variables secure. Make sure you create them locally if you clone this repository. + +### Build Scripts +- `npm run dev`: Starts the local development server (uses `.env` / `.env.local`). +- `npm run build:test`: Uses `dotenv-cli` to load `.env.test` and runs the Next.js build. +- `npm run build:production`: Uses `dotenv-cli` to load `.env.production` and runs the Next.js build. diff --git a/package-lock.json b/package-lock.json index 858932b..db9c181 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20,6 +20,7 @@ "@types/node": "^20", "@types/react": "^19", "@types/react-dom": "^19", + "dotenv-cli": "^11.0.0", "eslint": "^9", "eslint-config-next": "16.3.4", "tailwindcss": "^4", @@ -3066,6 +3067,64 @@ "node": ">=0.10.0" } }, + "node_modules/dotenv": { + "version": "17.4.2", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.4.2.tgz", + "integrity": "sha512-nI4U3TottKAcAD9LLud4Cb7b2QztQMUEfHbvhTH09bqXTxnSie8WnjPALV/WMCrJZ6UV/qHJ6L03OqO3LcdYZw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/dotenv-cli": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/dotenv-cli/-/dotenv-cli-11.0.0.tgz", + "integrity": "sha512-r5pA8idbk7GFWuHEU7trSTflWcdBpQEK+Aw17UrSHjS6CReuhrrPcyC3zcQBPQvhArRHnBo/h6eLH1fkCvNlww==", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.6", + "dotenv": "^17.1.0", + "dotenv-expand": "^12.0.0", + "minimist": "^1.2.6" + }, + "bin": { + "dotenv": "cli.js" + } + }, + "node_modules/dotenv-expand": { + "version": "12.0.3", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-12.0.3.tgz", + "integrity": "sha512-uc47g4b+4k/M/SeaW1y4OApx+mtLWl92l5LMPP0GNXctZqELk+YGgOPIIC5elYmUH4OuoK3JLhuRUYegeySiFA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "dotenv": "^16.4.5" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/dotenv-expand/node_modules/dotenv": { + "version": "16.6.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.6.1.tgz", + "integrity": "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, "node_modules/dunder-proto": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", diff --git a/package.json b/package.json index 6d0d329..9dba2fa 100644 --- a/package.json +++ b/package.json @@ -5,6 +5,8 @@ "scripts": { "dev": "next dev", "build": "next build", + "build:production": "dotenv -e .env.production -- next build", + "build:test": "dotenv -e .env.test -- next build", "start": "next start", "lint": "eslint" }, @@ -21,6 +23,7 @@ "@types/node": "^20", "@types/react": "^19", "@types/react-dom": "^19", + "dotenv-cli": "^11.0.0", "eslint": "^9", "eslint-config-next": "16.3.4", "tailwindcss": "^4",