A full-stack interior design platform with React frontend and Express backend.
interio-design-hub-main/
├── frontend/ # React + Vite frontend application
│ ├── src/ # Frontend source code
│ ├── public/ # Static assets
│ ├── package.json # Frontend dependencies
│ ├── vite.config.ts # Vite configuration
│ ├── tailwind.config.ts # Tailwind CSS configuration
│ ├── components.json # shadcn-ui configuration
│ ├── netlify.toml # Netlify deployment config
│ ├── .env # Frontend environment variables (git ignored)
│ ├── .env.example # Frontend environment template
│ └── supabase/ # Supabase configuration
│
├── backend/ # Express.js API server
│ ├── src/
│ │ ├── index.js # Express app entry point
│ │ ├── routes/ # API route handlers
│ │ ├── models/ # MongoDB schemas
│ │ └── middleware/ # Express middleware
│ ├── package.json # Backend dependencies
│ ├── .env # Backend environment variables (git ignored)
│ ├── .env.example # Backend environment template
│ └── uploads/ # Local file uploads directory
│
├── README.md # This file
├── .gitignore # Git ignore patterns
└── package.json # (Optional) Root workspace configuration
Frontend:
- Vite + React 18 + TypeScript
- shadcn-ui + Tailwind CSS
- React Router + React Query
- Supabase integration
- Cloudinary for image uploads
Backend:
- Express.js
- MongoDB with Mongoose
- JWT Authentication
- CORS enabled
- Node.js 18+ (install nvm)
- npm or bun
cd frontend
# Copy environment template and add your values
cp .env.example .env
# Install dependencies
npm install
# Run development server (Vite)
npm run dev
# Build for production
npm run buildFrontend runs on: http://localhost:5173
cd backend
# Copy environment template and add your values
cp .env.example .env
# Install dependencies
npm install
# Run development server
npm run dev
# Run production server
npm run startBackend runs on: http://localhost:4000
VITE_SUPABASE_PROJECT_ID=<your-project-id>
VITE_SUPABASE_PUBLISHABLE_KEY=<your-key>
VITE_SUPABASE_URL=<your-supabase-url>
VITE_API_BASE_URL=http://localhost:4000
MONGODB_URI=<your-mongodb-connection-string>
CLIENT_ORIGINS=http://localhost:5173,http://localhost:8080
PORT=4000
JWT_SECRET=<your-jwt-secret>
UPLOADTHING_SECRET=<your-uploadthing-secret>
UPLOADTHING_APP_ID=<your-uploadthing-app-id>
NODE_ENV=development
GET /api/health– Health checkGET/POST /api/designs– Design CRUD operationsPOST /api/auth/login– User authenticationPOST /api/auth/register– User registration
npm run dev # Development server
npm run build # Production build
npm run preview # Preview production build
npm run lint # Run ESLint
npm test # Run tests
npm test:watch # Watch mode testsnpm run dev # Development server
npm run start # Production server- Deploy
frontend/folder to Netlify - Set build command:
npm run build - Set publish directory:
dist - Add environment variables in Netlify dashboard
- Deploy
backend/folder to your platform - Set build command:
npm install - Set start command:
npm run start - Add environment variables
- CORS: Update
backend/src/index.jswith your frontend URL for production - API URL: Update
VITE_API_BASE_URLin frontend.envwhen deploying - Database: Ensure MongoDB connection string is valid
- Secrets: Never commit
.envfiles to git (they're in.gitignore)
- Fork the repository
- Create a branch for your feature
- Make your changes
- Push and create a Pull Request
MIT