Created Frontend and backend server and using claude to deploy db.ts and env.ts

This commit is contained in:
Mosiur Rahman
2026-04-20 16:03:37 +06:00
commit cff98994fd
6 changed files with 2169 additions and 0 deletions

2090
server/package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

32
server/package.json Normal file
View File

@@ -0,0 +1,32 @@
{
"name": "server",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"dev": "ts-node-dev --respawn --transpile-only src/server.ts",
"build": "tsc",
"start": "node dist/server.js"
},
"keywords": [],
"author": "",
"license": "ISC",
"type": "commonjs",
"dependencies": {
"bcryptjs": "^3.0.3",
"cors": "^2.8.6",
"dotenv": "^17.4.2",
"express": "^5.2.1",
"jsonwebtoken": "^9.0.3",
"mongoose": "^9.4.1"
},
"devDependencies": {
"@types/bcryptjs": "^2.4.6",
"@types/cors": "^2.8.19",
"@types/express": "^5.0.6",
"@types/jsonwebtoken": "^9.0.10",
"@types/node": "^25.6.0",
"ts-node-dev": "^2.0.0",
"typescript": "^6.0.3"
}
}

0
server/src/config/db.ts Normal file
View File

21
server/src/config/env.ts Normal file
View File

@@ -0,0 +1,21 @@
import dotenv from "dotenv"
dotenv.config();
// This function validates that required env vars exist at startup
// Your app crashes immediately with a clear message — not silently later
const getEnvVar = (key: string): string => {
const value = process.env[key];
if (!value) {
throw new Error(`Missing required Environment Variable: ${key}`)
}
return value;
}
export const ENV = {
PORT: process.env.PORT || '5000',
MONGO_URI: getEnvVar('MONGO_URI'),
JWT_SECRET: getEnvVar('JWT_SECRET'),
NODE_ENV: process.env.NODE_ENV || 'development',
}

17
server/tsconfig.json Normal file
View File

@@ -0,0 +1,17 @@
// server/tsconfig.json
{
"compilerOptions": {
"target": "ES2020",
"module": "commonjs",
"lib": ["ES2020"],
"outDir": "./dist",
"rootDir": "./src",
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"resolveJsonModule": true
},
"include": ["src/**/*"],
"exclude": ["node_modules", "dist"]
}