This project is a monorepo that combines a backend built with AdonisJS and a frontend developed with Vue.js. It uses shared TypeScript types to ensure consistency of data and interfaces across different parts of the application.
backend/: Contains the source code for the backend developed with AdonisJS.- Manages routes, controllers, models, and middleware.
- Uses TypeScript to type data and services.
frontend/: Contains the source code for the frontend developed with Vue.js.- Includes Vue components, pages, and store management.
packages/contracts/: Runtime values shared between frontend and backend (enums, constants).- Pure, framework-agnostic, importable from both Node and the browser.
The frontend consumes the backend's API types via the auto-generated Tuyau registry — no shared validator package needed.
pnpm installcd backend
cp .env.example .env
node ace migration:fresh --seedpnpm dev- Backend: AdonisJS, PostgreSQL
- Frontend: Vue.js, Vue Router, Pinia, TanStack Query
- Build Tools: Vite, pnpm