https://github.com/nicolassutter/trusp-todo
https://github.com/nicolassutter/trusp-todo
Last synced: about 1 year ago
JSON representation
- Host: GitHub
- URL: https://github.com/nicolassutter/trusp-todo
- Owner: nicolassutter
- Created: 2025-02-11T14:26:32.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-12T13:47:31.000Z (over 1 year ago)
- Last Synced: 2025-07-01T03:54:00.161Z (about 1 year ago)
- Language: TypeScript
- Homepage: https://trusp-todo.vercel.app
- Size: 449 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
A todolist to manage... todos
## Features
- User account (registration disabled) with a demo acount open to the public (credentials displayed on the login page)
- Basic CRUD operations on todos
- Installable as a PWA
I went with Vite and @tanstack/react-router instead of Next because I feel like Next was definitely overkill for a simple todolist app. I prefer using Vitest for testing so Vite made a lot of sense.
I used shadcn/ui for the components because I wanted to focus on fonctionality and not design.
I used Zod for validation because the random users api is not type safe.
I went with server-side storage, well a SQLite database to be precise because it made sense if I wanted to implement auth. I chose Pocketbase because it is a single binary that is very cost effective. Another choice would have been to use serverless/edge (like Vercel) with a serverless database (Vercel postgres or Turso), but that seemed like overkill as well. Finally, I like "owning" my auth (and I like open source as well) so that I have control over it, so solutions like Clerk or Auth0 were a no go.
## Stack
### Frontend
- React with the React compiler (because it's basically free performance)
- @tanstack/react-query and @tanstack/react-router
- TypeScript
- Tailwind CSS
- Vite & Vitest for testing [tests located here](./packages/app/tests/app.test.tsx)
- Zod
- shadcn/ui for the amazing components
- Vite PWA
### Backend
- Pocketbase for auth
### Hosting
- The demo auth server is hosted on my home server but it can run wherever with Docker. The frontend is hosted on Vercel.