Welcome to the Verstack monorepo project! This repository contains both the client and API applications, organized within a monorepo structure using pnpm workspaces and Turborepo.
The repository is organized as follows:
my-monorepo/
├── apps/
│ ├── client/
│ │ ├── src/
│ │ ├── dist/
│ │ ├── package.json
│ │ ├── vercel.json
│ │ └── ...
│ └── api/
│ ├── api/
│ ├── dist/
│ ├── package.json
│ ├── vercel.json
│ └── ...
├── packages/
│ ├── types/
│ │ ├── src/
│ │ ├── dist/
│ │ ├── package.json
│ │ └── ...
│ ├── utilities/
│ │ ├── src/
│ │ ├── dist/
│ │ ├── package.json
│ │ └── ...
│ └── database/
│ ├── src/
│ ├── dist/
│ ├── package.json
│ └── ...
├── turbo.json
├── package.json
├── pnpm-workspace.yaml
├── docker-compose.yml
└── .dockerignore
- Node.js (version 14.x or later)
- pnpm (version 6.x or later)
- Docker (for running services locally)
- Vercel CLI (for deployment)
-
Clone the repository:
git clone https://github.com/your-username/verstack.git cd verstack
-
Install dependencies:
Use pnpm to install all dependencies for the entire monorepo:
pnpm install
-
Navigate to the client directory:
cd apps/client
-
Start the development server:
pnpm run dev
The client application will be available at
http://localhost:3000
.
-
Navigate to the API directory:
cd apps/api
-
Start the development server:
pnpm run dev
The API server will be available at
http://localhost:5001
.
-
Navigate to the client directory:
cd apps/client
-
Build the client application:
pnpm run build
The build output will be located in the
dist
directory.
-
Navigate to the API directory:
cd apps/api
-
Build the API application:
pnpm run build
The build output will be located in the
dist
directory.
-
Start services using Docker Compose:
docker-compose up
This will start the client, API, and database services.
Each application has its own vercel.json
configuration file for deployment.
-
Navigate to the client directory:
cd apps/client
-
Deploy to Vercel:
vercel --prod
-
Navigate to the API directory:
cd apps/api
-
Deploy to Vercel:
vercel --prod
{
"pipeline": {
"build": {
"dependsOn": ["^build"],
"outputs": ["dist/**", "build/**"]
},
"lint": {
"outputs": []
},
"test": {
"outputs": []
}
}
}
packages:
- 'apps/*'
- 'packages/*'
If you would like to contribute, please follow the contribution guidelines.
This project is licensed under the MIT License. See the LICENSE file for details.
Feel free to update this README with any additional information or instructions specific to your project.