A Google Keep-inspired todo application powered by Usable fragments.
- Next.js 15 - React framework with App Router
- NextAuth - Authentication with Keycloak
- TanStack Query - Server state management
- Tailwind CSS 4 - Styling
- TypeScript - Type safety
- Biome - Linting and formatting
- PWA Support - Installable on mobile and desktop devices
- Node.js 20+
- Yarn
- Keycloak client credentials (
memory-mesh-app)
- Install dependencies:
yarn install- Create
.env.localfile (seeENV_SETUP.mdfor details):
USABLE_API_URL=https://usable.dev
KEYCLOAK_CLIENT_ID=memory-mesh-app
KEYCLOAK_CLIENT_SECRET=<from-keycloak>
KEYCLOAK_ISSUER=https://auth.flowcore.io/realms/memory-mesh
NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET=<generate-with-openssl>- Run development server:
yarn devapp/
├── api/ # API routes
│ ├── auth/ # NextAuth handlers
│ └── usable/ # Usable API proxies
├── layout.tsx # Root layout
├── page.tsx # Dashboard page
└── globals.css # Global styles
src/
├── features/ # Feature modules
│ ├── onboarding/ # First-time setup
│ ├── todos/ # Todo management
│ └── templates/ # Template management
├── lib/ # Shared libraries
│ ├── usable-api/ # API client
│ └── storage/ # LocalStorage utils
└── components/ # UI components
lib/
├── auth.ts # NextAuth config
└── env.ts # Environment validation
- 📱 Progressive Web App (PWA) - Install on your phone or desktop!
- ✨ Offline Support - Works without internet connection
- 🎨 Google Keep-inspired - Familiar masonry grid layout
- 🔐 Secure Authentication - Keycloak integration
- 💾 Persistent Storage - Todos backed by Usable fragments
- 🌓 Dark Mode - Automatic theme switching
- Lint:
yarn lint - Format:
yarn format - Build:
yarn build - Start:
yarn start - Generate Icons:
yarn generate:icons
Taskable can be installed as a Progressive Web App on phones, tablets, and desktops:
When you first visit Taskable, you'll see a friendly popup asking if you want to install the app. Just click "Install" and you're done! 🎉
- Open Taskable in your mobile browser
- Look for "Add to Home Screen" option
- Tap to install - it will appear like a native app!
- Open Taskable in Chrome/Edge
- Look for the install icon (⊕) in the address bar
- Click "Install" to add to your apps
Note: PWA features require HTTPS in production (automatically handled by Vercel/Netlify).
For detailed PWA setup and configuration, see PWA_SETUP.md.
A standalone test client is available in /keycloak-test-client to verify Keycloak authentication with the Usable API. This helps isolate and test the authentication flow independently.
cd keycloak-test-client
npm install
npm run devSee keycloak-test-client/README.md and keycloak-test-client/TESTING_GUIDE.md for details.
Deploy to Vercel with one click or via Git integration. See ENV_SETUP.md for environment variable configuration.
MIT