This open-source project, created by Shadcn, is one of the most exciting projects I've worked on. It explores the potential of Next.js 13 and server components in building a modern app with advanced features such as authentication, subscriptions, API routes, and static pages. By pushing the boundaries of cutting-edge technologies, this experiment serves as a valuable learning experience and demonstrates the power of these tools in creating innovative applications.
Warning This app is a work in progress.
to build on this project you need to utilized a range of tools and libraries :
- Next.js 13 (canary release) and
- React 18
- NextAuth.js for authentication
- Prisma as an ORM
- PlanetScale for database management
- Radix UI for UI components
- MDX and Contentlayer for documentation and blog content
- Stripe for subscriptions
- Tailwind CSS for styling
- Zod for validations
- TypeScript for better type safety and developer experience
I'll be posting updates and issues here.
A few people have asked me to turn this into a starter. I think we could do that once the new features are out of beta.
- New /app directory
- Routing, Layouts, Nested Layouts, and Layout Groups
- Data Fetching, Caching, and Mutation
- Loading UI
- Server and Client Components
- API Routes and Middlewares
- Authentication using NextAuth.js
- ORM using Prisma
- Database on PlanetScale
- UI Components built using Radix UI
- Documentation and blog using MDX and Contentlayer
- Subscriptions using Stripe
- Styled using Tailwind CSS
- Validations using Zod
- Written in TypeScript
follow these steps:
- Clone the repository: git clone https://github.com/S-Selim/Server-Components-Experiment
- Install dependencies using pnpm:
pnpm install
- Copy
.env.example
to.env.local
and update the variables.
cp .env.example .env.local
- Start the development server:
pnpm dev
Licensed under the MIT license.