An interactive, progressively enhanced project task manager with filtering using Next.js 15 with Tailwind CSS and Prisma. It's been purposely slowed down to showcase the handling of loading state.
See filter-provider
branch for a context API version, which batches all filters into a single state, fixing the problem of them being discarded when toggling across multiple.
See nuqs
branch for a version using nuqs to accomplish the same thing. It's probably better to use a library, right?
This is a Next.js project bootstrapped with create-next-app
.
This project uses next/font
to automatically optimize and load Inter, a custom Google Font.
First, install the dependencies:
npm install
Then, run the development server:
npm run dev
Open http://localhost:3000 with your browser to see the result.
You need decide between prisma local development with sqlite
or a real database with for example sqlserver
. Define it in the schema.prisma
file.
Consider adding a .env
file to the root of the project and using these inside schema.prisma
with env("DATABASE_URL")
, refer to .env.sample
.
After switching, delete the prisma/migrations
folder before running the migration command.
When using sqlserver, you need to migrate the database schema with:
npm run prisma.migrate
When using sqlite, initialize with:
npm run prisma.push
Seed prisma/seed.ts for initial data:
npm run prisma.seed
To learn more about Next.js, take a look at the following resources:
- Next.js Documentation - learn about Next.js features and API.
- Learn Next.js - an interactive Next.js tutorial.
You can check out the Next.js GitHub repository - your feedback and contributions are welcome!
The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
Check out our Next.js deployment documentation for more details.