https://github.com/plvo/crash-next
Evolving Next.js template for experimenting with up-to-date practices and technologies.
https://github.com/plvo/crash-next
nextauth nextjs prisma reacthookform shadcn-ui starter
Last synced: 4 days ago
JSON representation
Evolving Next.js template for experimenting with up-to-date practices and technologies.
- Host: GitHub
- URL: https://github.com/plvo/crash-next
- Owner: plvo
- License: mit
- Created: 2024-09-30T14:51:32.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-06-15T22:02:42.000Z (11 months ago)
- Last Synced: 2025-06-15T23:35:38.477Z (11 months ago)
- Topics: nextauth, nextjs, prisma, reacthookform, shadcn-ui, starter
- Language: TypeScript
- Homepage:
- Size: 19.7 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# crash-next
A Next.js starter designed as an evolving playground for experimenting with modern fullstack patterns, tools, and libraries.
This project is not a fixed boilerplate — it's meant to test ideas, refine architecture decisions, and stay aligned with the latest updates in the Next.js ecosystem. It can serve as a base for real projects, quick prototypes, or simply to explore what's possible with current best practices.
## Goals
1. **Experimentation**: Try out new patterns, libraries, and workflows.
2. **Code reuse**: Maintain reusable logic for common fullstack tasks (auth, forms, API actions, etc).
3. **Up-to-date stack**: Keep pace with evolving Next.js capabilities and the React ecosystem.
4. **Clean architecture**: Test scalable patterns for server actions, client state, and component organization.
## Tech Stack
* **Next.js 15** (App Router, Server Actions)
* **React 19**
* **TypeScript**
* **Prisma** (ORM) + **MySQL**
* **NextAuth.js**
* **Tanstack Query**
* **TailwindCSS**, **shadcn/ui**, **Radix UI**
* **Zod** (validation), **React Hook Form**
* **Biome**, **Husky**, **bun** (runtime)
## Architecture Overview
Modular and entity-based structure:
```
src/
├── actions/ # Server-side business logic
├── app/ # App Router pages (including protected routes)
├── components/ # UI + domain-specific components
├── hooks/ # Data hooks for each entity
├── lib/ # Utilities, Prisma, auth, config
├── styles/ # Tailwind and global styles
└── types/ # Shared TypeScript types
```
Naming follows simple conventions (`use-*` for hooks, PascalCase for components, kebab-case for files).
## Routing
```bash
/ # Public home
/signin # Sign in
/publications # Protected content
/user/[pseudo] # User profile (protected)
```
## Core Features
* **Server Actions** wrapped with standardized error handling (`withActionWrapper`)
* **Typed hooks** (`useActionQuery`, `useActionMutation`) to bridge actions and UI
* **Suspense + Error Boundaries** with `QueryBoundary`
* **Pattern-based folder structure** for scalability
* **Reusable form and validation setup** with Zod and React Hook Form
* **Data caching and invalidation** using Tanstack Query
## TODO
Planned areas of work:
* Authentication: OTP, 2FA, OAuth
* Real-time: Notifications, live updates
* DevOps: Docker setup, monitoring, cloud deploy (e.g., Amplify + Terraform)
* Performance: Query optimization, React Suspense
* Testing: Playwright E2E, load testing (k6)
## Contributing
Feel free to fork or open PRs. This repo is meant to evolve — suggestions, new patterns, or experimental branches are welcome.
## License
MIT — see the [LICENSE](LICENSE) file.