An open API service indexing awesome lists of open source software.

https://github.com/devbaraus/kuehne-web


https://github.com/devbaraus/kuehne-web

Last synced: 1 day ago
JSON representation

Awesome Lists containing this project

README

          

# Kuehne + Nagel Logistics Frontend

Nuxt-based dashboard for managing locations and shipments. Integrates with the backend API for auth, role-based access, and typed API clients generated from the OpenAPI schema.

## Technologies
- Nuxt 4 (Vue 3 + Vite) with TypeScript.
- UI kit: `@nuxt/ui` for ready-made components.
- Role-based UI/route gating via `@casl/ability` + `@casl/vue`.
- Utilities via `@vueuse/nuxt` and `@internationalized/date`.
- OpenAPI-driven client: `@hey-api/openapi-ts` (types) + `zod` validators.
- ESLint with `@nuxt/eslint`.

## Getting started
Prereqs: Node.js 22+ and a package manager, bun is preferred. Ensure the backend is running (defaults to `http://localhost:8000/v1`).

1) Install dependencies
```bash
bun install
```

2) Configure API base
Create `.env` in `frontend/` (Nuxt runtimeConfig reads `process.env.API_BASE`).
```
API_BASE=http://localhost:8000/v1
```

3) Generate OpenAPI types (optional but recommended after backend changes)
```bash
bun run openapi
```

4) Run the dev server
```bash
bun run dev
# App runs at http://localhost:3000
```

## Production
- Build:
```bash
bun run build
```
- Preview locally:
```bash
bun run preview
```

## Environment variables
- `API_BASE` (default `http://localhost:8000/v1`) — base URL for the backend API.

## Notes
- If you change the backend schema, re-run `npm run openapi` to refresh generated types in `app/openapi`.
- RBAC is enforced in routes and components using CASL abilities; users see actions permitted by their role.