This is a starter template for Nuxt 3 projects with a sample server-side code added for you. This template follows clean architecture pattern.
It comes with the following packages installed:
- Tailwind CSS - A utility-first CSS framework for styling your application.
- ESLint - A linter for your code to ensure best practices and catch errors.
- Prettier - A code formatter to keep your code clean and consistent.
- PrimeVue - A UI component library for Vue 3.
- PrimeIcons - A icon library for PrimeVue.
- Pinia Stores - A state management library for Vue 3.
- Prisma - A ORM for interacting with your PostgreSQL database.
- Kysely - A type-safe database query builder.
- Docker-compose - A tool for running multiple docker containers.
- Zod - A type-safe schema validation library.
This project is run using pnpm and requires Node.js version 20.15.1.
- Clone the repository
- Install dependencies with
pnpm install
- Run the development server with
pnpm dev
- Open http://localhost:3000 in your browser.
- Build the docker image with
docker-compose build
- Run the docker container with
docker-compose up
- Open http://localhost:3000 in your browser.
This project uses ESLint and Prettier to ensure code quality and consistency.
- Run
pnpm lint
to check for errors.
This project uses Prisma as its ORM with PostgreSQL as the database. To use Prisma, you need to create a .env
file with the following variables:
POSTGRES_CONNECTION_URL
- The URL of your PostgreSQL database. Example:DATABASE_URL="postgresql://johndoe:randompassword@localhost:5432/mydb?schema=public"
run npx prisma migrate dev
to create the database schema.
run npx prisma db seed
to seed the database.