A full-stack application built with Vue 3, TypeScript, Vite, GraphQL, and Nitro server.
A full-stack application built with Vue 3, TypeScript, Vite, GraphQL, and Nitro server.
pnpm install
pnpm dev
The app will be available at:
pnpm build
pnpm preview
The project supports multiple runtime environments through Docker:
# Build and run
docker compose up app --build
# Run in background
docker compose up app --build -d
# View logs
docker compose logs -f app
# Build and run
docker compose --profile bun up --build
# Run in background
docker compose --profile bun up --build -d
# View logs
docker compose logs -f bun
# Run both Node.js (3000) and Bun (3001)
docker compose --profile bun up app bun --build
# In background
docker compose --profile bun up app bun --build -d
# Run with hot-reload (port 5173)
docker compose --profile dev up
# In background
docker compose --profile dev up -d
# Stop all services
docker compose down
# View running containers
docker compose ps
# View logs
docker compose logs -f
# Restart a service
docker compose restart app
# Execute command in container
docker compose exec app sh
# Rebuild without cache
docker compose build --no-cache app
The following environment variables are set in production:
NODE_ENV=productionNITRO_PORT=3000NITRO_HOST=0.0.0.0GET /api/hello - Health check endpointPOST /api/graphql - GraphQL endpointGET /api/graphql - GraphQL Playgroundquery GetUser($id: ID!) {
getUser(id: $id) {
__typename
... on User {
id
name
email
createdAt
}
... on UserNotFoundError {
message
userId
}
... on UnauthorizedError {
message
requiredPermission
}
}
}
Variables:
{
"id": "1"
}
mutation CreateUser($input: CreateUserInput!) {
createUser(input: $input) {
id
name
email
createdAt
}
}
Variables:
{
"input": {
"email": "user@example.com",
"name": "John Doe"
}
}
.
├── server/ # Nitro server
│ ├── graphql/ # GraphQL schema & resolvers
│ │ └── user/ # User module
│ └── routes/ # API routes
├── src/ # Vue application
│ ├── components/ # Vue components
│ ├── composables/ # Composables (useUser, etc.)
│ ├── graphql/ # GraphQL client & SDK
│ ├── pages/ # Page components
│ └── router/ # Vue Router configuration
├── Dockerfile # Node.js production build
├── Dockerfile.bun # Bun production build
├── docker-compose.yml # Multi-service orchestration
└── vite.config.ts # Vite & Nitro configuration
MIT
Contributions are welcome! Please feel free to submit a Pull Request.
We use cookies
We use cookies to analyze traffic and improve your experience. You can accept or reject analytics cookies.