This project is a collaborative todo app built with Next.js, Auth.js, TanStack Query, and ZenStack v3.
In this fictitious app, users can be invited to workspaces where they can collaborate on todos. Public todo lists are visible to all members in the workspace.
See a live deployment at: https://v3-sample-todo-nextjs.vercel.app/.
- User signup/signin
- Creating workspaces and inviting members
- Data segregation and permission control
-
Setup a new PostgreSQL database
You can launch a PostgreSQL instance locally, or create one from a hoster like Supabase. Create a new database for this app, and set the connection string in .env file.
-
Install dependencies
npm install
-
Configure environment variables
Copy the
.env.examplefile to.envand set the values for your environment. Github related variables can be left empty if you don't need GitHub OAuth login. -
Generate server and client-side code from model
npm run generate
-
Synchronize database schema
npm run db:push
-
Start dev server
npm run dev
For more information on using ZenStack, visit https://zenstack.dev/v3.