Deployly is a modern, lightweight web hosting control panel and deployment engine designed for simple Static HTML and Node.js application hosting. It aims to eliminate deployment complexity with a clean dashboard and instant ZIP-based deployments.
This repository contains the backend and frontend for the Deployly MVP. It features a complete authentication flow, domain management, database records (logical representation), and a deployment extraction engine.
deployly/
├── backend/
│ ├── config/ # Environment and mock DB configuration
│ ├── controllers/ # API logic for Auth, Dashboard, Domains, Websites
│ ├── middleware/ # Express middlewares (auth, validation, etc.)
│ ├── models/ # SQL statement abstractions
│ ├── routes/ # Express route definitions
│ ├── services/ # Reusable service functions
│ ├── utils/ # Utilities like `apiResponse` and `multerConfig`
│ └── server.js # Entry point for backend API (Port 4000/3000)
├── frontend/
│ ├── src/
│ │ ├── components/ # React components (Dashboard, Websites, Auth, Domains)
│ │ ├── utils/ # API fetch wrappers and helpers
│ │ ├── App.jsx # Main React application entry
│ │ └── main.jsx # Vite DOM renderer
│ ├── package.json
│ └── vite.config.js
└── docs/ # Contains sprint reports and implementation plans
Create a .env file in the backend/ directory:
PORT=3000
NODE_ENV=development
JWT_SECRET=your_super_secret_jwt_key_here
cd backend
npm install
npm run devThe API will start on http://localhost:3000
cd frontend
npm install
npm run devThe React app will start on http://localhost:5173
POST /api/auth/register- Create an accountPOST /api/auth/login- AuthenticateGET /api/auth/profile- Fetch user profile detailsGET /api/dashboard- Get dashboard statisticsPOST /api/websites- Add a new website recordPOST /api/websites/:id/upload- Upload a ZIP and deploy itGET /api/deployments/:deploymentId/logs- Fetch live deployment logsPOST /api/domains- Link a custom domainPOST /api/databases- Create a logical MySQL database
- Authentication: JWT-based login and registration.
- Websites: Full CRUD capabilities and logical management.
- Deployment Engine:
- Validates and uploads
.ziparchives. - Safely extracts into
storage/sites/. - Auto-detects if the app is
Static HTMLorNode.jsbased onindex.htmlandpackage.json.
- Validates and uploads
- Real-Time Logs: View deployment logs and status directly from the Website Details page.
- Domains & Databases: Ready APIs to orchestrate domains and databases on a real VPS.