This project is a collaborative todo app built with Next.js (app router), Auth.js, and ZenStack.
See the pages-route branch for an implementation using Next.js's old pages router.
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://zenstack-todo.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.example
file to.env
and 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.