https://github.com/akashdeep023/turborepo-setup
https://turborepo-setup.vercel.app/
https://github.com/akashdeep023/turborepo-setup
eslint nextjs postgresql prisma prisma-client shadcn-ui tailwindcss turbo turborepo turborepo-example turborepo-prisma turborepo-shadcn turborepo-tailwind typescript web
Last synced: 3 months ago
JSON representation
https://turborepo-setup.vercel.app/
- Host: GitHub
- URL: https://github.com/akashdeep023/turborepo-setup
- Owner: akashdeep023
- Created: 2025-09-06T04:45:45.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-09-06T08:52:16.000Z (10 months ago)
- Last Synced: 2025-09-06T10:23:56.074Z (10 months ago)
- Topics: eslint, nextjs, postgresql, prisma, prisma-client, shadcn-ui, tailwindcss, turbo, turborepo, turborepo-example, turborepo-prisma, turborepo-shadcn, turborepo-tailwind, typescript, web
- Language: TypeScript
- Homepage:
- Size: 195 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Turborepo Monorepo
This repository is a **Turborepo setup** for building full-stack applications.
It combines a **frontend**, **backend**, and **shared packages** in one place.
---
## π Whatβs Inside
```
.
βββ apps/
β βββ web/ # Next.js frontend (Tailwind + Shadcn UI)
β βββ api/ # Express backend (Prisma + PostgreSQL)
βββ packages/
β βββ ui/ # Shared UI components (Shadcn + Tailwind)
β βββ database/ # Prisma client + DB helpers
β βββ config-*/ # Shared configs (Tailwind, ESLint, TypeScript)
βββ turbo.json # Turborepo config
```
- **apps/web** β Public web app using **Next.js + Tailwind + Shadcn UI**
- **apps/api** β API server using **Express + Prisma + PostgreSQL**
- **packages/ui** β Shared UI components across apps
- **packages/database** β Prisma client & DB setup
- **packages/config-**\* β Shared configs for consistency
---
## WEB APP (apps/web)
This app is a **Next.js frontend** using **Tailwind + Shadcn UI**.
Add `NEXT_PUBLIC_NODE_API` to `.env` in the root of the **apps/web**
```sh
NEXT_PUBLIC_NODE_API="http://localhost:4000"
```
Run it locally:
```sh
cd apps/web
npm run dev
```
---
## π¨ UI Package (packages/ui)
This package contains **reusable UI components** using Shadcn + Tailwind.
You can extend the UI by adding components:
```sh
cd packages/ui
npx shadcn-ui@latest add button
```
Then use it in apps:
```tsx
import { Button } from "@repo/ui/components/button";
export default function Page() {
return Click Me;
}
```
---
## ποΈ Database Package (packages/database)
This package provides a **Prisma client** to connect to PostgreSQL.
Run migrations and generate the client from here:
Add `DATABASE_URL` to `.env` in the root of the **packages/database**
```sh
DATABASE_URL="postgresql://:@/?sslmode=require&channel_binding=require"
NODE_ENV="development"
```
```sh
cd packages/database
npx prisma migrate dev --name init
npx prisma generate
```
Use it in apps:
```ts
import { prisma } from "@repo/database";
const users = await prisma.users.findMany();
```
---
## π How to Run the Apps
From the root of the repo:
```sh
npm install
npm run dev
```
- **Web** β [http://localhost:3000](http://localhost:3000)
- **API** β [http://localhost:4000](http://localhost:4000)
---
## π¨βπ» Contact
Built by:
- **Akash Deep**
- π Website: [https://akashdeep023.vercel.app](https://https://akashdeep023.vercel.app)
- π GitHub: [@akashdeep023](https://github.com/akashdeep023)
- πΌ LinkedIn: [Akash Deep](https://linkedin.com/in/akashdeep023)