A small but effective todo list app with an emphasis on the back-end.
- NextUI + Tailwind for clean UI
- Authentication with Clerk
- Whitelist authorization with Clerk Webhooks + Supabase
- Type-safe and secure Supabase DB access with Drizzle ORM and Next.js server actions
- State management with React Query and Zustand
If you wish to locally host a version of this app
git
command line (Windows | Linux | macOS) installednode
Version 18.17 or later installedbun
(macOS | Linux) installed- Using bun through WSL will not work due to how Husky is setup. Sorry!
Note: Although the Bun CLI and package manager are the ones used, Next.js requires you to have Node installed on your system - that is why both it and Bun appear in system requirements.
- Clone the repository
git clone https://github.com/Krumbit/tasks.git
- Install dependencies
bun install
- Create a Supabase project and assign appropriate environment variables
- Create a Clerk project and assign appropriate environment variables
- Create a Clerk
user.created
webhook and assign the appropriate environment variable - Start dev server
bun dev
- More intuitive UI spanning the whole viewport rather than a small part
- Due dates
- Selectable statuses (i.e priorities, progress, etc.)
- Extendable task types
- Animation after marking task as complete
- Make all server actions optimistically update