Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nconnector/v3-stack
T3 stack for Vue/Nuxt, without Tailwind
https://github.com/nconnector/v3-stack
next-auth nuxt nuxt-auth nuxt3 prisma t3 t3-stack template trpc vue vue3
Last synced: 4 months ago
JSON representation
T3 stack for Vue/Nuxt, without Tailwind
- Host: GitHub
- URL: https://github.com/nconnector/v3-stack
- Owner: nconnector
- Created: 2023-04-11T06:40:06.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2023-04-12T07:44:53.000Z (almost 2 years ago)
- Last Synced: 2024-10-10T02:20:12.834Z (4 months ago)
- Topics: next-auth, nuxt, nuxt-auth, nuxt3, prisma, t3, t3-stack, template, trpc, vue, vue3
- Language: TypeScript
- Homepage: https://v3-stack.vercel.app
- Size: 594 KB
- Stars: 8
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Nuxt3 + tRPC Fullstack Scaffolding
Use this project to kick off your End-to-End typesafe project with TRPC and Nuxt.
- Fast HMR (Vite)
- Typesafe API (TypeScript & tRPC)## Features
- [x] Vue3 / Nuxt 3
- [x] Typescript
- [x] eslint # https://nuxt.com/modules/eslint#nuxtjseslint-module
- [x] Prisma ORM # https://www.prisma.io/ (Next-auth schema)
- [x] Pinia state management
- [x] tRPC API # https://trpc.io/
- [x] Nuxt Auth # https://sidebase.io/nuxt-auth/ (GitHub and Auth0 enabled)
- [x] Vite## Setup
### From this template:
- `npm i`
- [populate .env](envConfig.ts)
- [prisma setup](prisma/Prisma.md)
- `eslint --init`### From scratch:
- `npx nuxi init v3-project-name`
- `npm i`
- `npm i @trpc/server @trpc/client trpc-nuxt zod @next-auth/prisma-adapter @pinia/nuxt`
- `npm i -D pinia --legacy-peer-deps`
- `npm i -D @sidebase/nuxt-auth @types/node prisma eslint @nuxtjs/eslint-config-typescript`
- continue setup using "from this template" section## File structure
```.
├── server
│ ├── api
│ │ ├── trpc
│ │ │ └── [trpc].ts <-- tRPC HTTP handler
│ │ └── auth
│ │ └── [...].ts <-- catch all auth HTTP handler
│ ├── middleware
│ │ └── 0.auth-session.ts <-- first in order, add auth session to event ctx
│ ├── trpc
│ │ ├── trpc.ts <-- procedure helpers
│ │ ├── context.ts <-- create app context
│ │ ├── router.ts <-- main app router
│ │ └── routers <-- sub-routers
│ │ ├── user.ts
│ │ └── [..]
│ └── prisma.ts <-- prisma client
├── prisma
│ ├── migrations
│ │ └── [..]
│ ├── schema.prisma
│ └── seed.ts
├── plugins
│ └── client.ts <-- tRPC client plugin
├── store
│ └── index.ts <-- main pinia store
```## Development Server
Start the development server on `http://localhost:3000`
```bash
npm run dev
```## Production
Build the application for production:
```bash
npm run build
```Locally preview production build:
```bash
npm run preview
```Check out the [deployment documentation](https://nuxt.com/docs/getting-started/deployment) for more information.