A modern full-stack application built with Vue 3 frontend and Nest.js backend, managed with pnpm workspace.
full-stack-workspace/
├── apps/
│ ├── frontend/ # Vue 3 + TypeScript + Element Plus
│ └── backend/ # Nest.js + TypeScript + Express
├── packages/ # Shared packages (if any)
├── pnpm-workspace.yaml # pnpm workspace configuration
└── package.json # Root package.json
cd /workspace
pnpm install
.env.example to .env in the backend directorypnpm dev
Frontend (Vue 3):
cd apps/frontend
pnpm dev
The frontend will be available at http://localhost:3000
Backend (Nest.js):
cd apps/backend
pnpm dev
The backend will be available at http://localhost:3001 API documentation available at http://localhost:3001/api
Build all applications:
pnpm build
Build individual applications:
cd apps/frontend
pnpm build
cd apps/backend
pnpm build
Run tests for all packages:
pnpm test
Run linting for all packages:
pnpm lint
Run formatting for all packages:
pnpm format
The backend provides Swagger/OpenAPI documentation available at:
VITE_API_BASE_URL=http://localhost:3001
NODE_ENV=development
PORT=3001
FRONTEND_URL=http://localhost:3000
DB_HOST=localhost
DB_PORT=3306
DB_USERNAME=root
DB_PASSWORD=password
DB_DATABASE=fullstack_app
JWT_SECRET=your-super-secret-jwt-key-change-this-in-production
pnpm dev - Start both frontend and backend in development modepnpm build - Build all applicationspnpm test - Run tests for all packagespnpm lint - Run linting for all packagespnpm format - Run formatting for all packagespnpm dev - Start development serverpnpm build - Build for productionpnpm preview - Preview production buildpnpm dev - Start development server with hot reloadpnpm build - Build for productionpnpm start - Start production serverpnpm test - Run testsThis project is licensed under the MIT License.