Skip to content
 
 

Repository files navigation

RS Tasks

Internal task manager for RS PCB Assembly — a self-hosted, multi-user, RS-branded Todoist clone for the office and shop floor.

Built on a fork of todovex by Ankita Kulkarni (MIT).

Stack

  • Next.js 14 (App Router) + React 18 + TypeScript
  • Convex — realtime database & serverless functions
  • NextAuth v5 (Auth.js) with Google OAuth, locked to @rspcbassembly.com
  • AI — Claude via Vercel AI Gateway (planned; OpenAI integration removed)
  • Tailwind CSS + shadcn/ui
  • React Hook Form + Zod
  • Tauri 2 (planned) — Windows + macOS desktop wrappers
  • Vercel — hosting

Local development

npm install
npx convex dev          # one-time: links to Convex deployment, sets CONVEX_DEPLOYMENT + NEXT_PUBLIC_CONVEX_URL
npm run dev

Required environment variables

Copy .env.sample to .env.local and fill in:

Variable Purpose
CONVEX_DEPLOYMENT Set by npx convex dev
NEXT_PUBLIC_CONVEX_URL Set by npx convex dev
CONVEX_AUTH_PRIVATE_KEY Generated by node generateKeys.mjs
JWKS Generated by node generateKeys.mjs
AUTH_SECRET npx auth secret
CONVEX_AUTH_ADAPTER_SECRET Random 32-char string
GOOGLE_CLIENT_ID Google Cloud OAuth client
GOOGLE_CLIENT_SECRET Google Cloud OAuth client
RS_TASKS_ALLOWED_DOMAIN Defaults to rspcbassembly.com. Override if needed.

Google OAuth setup (one-time)

  1. Google Cloud Console → APIs & Services → Credentials → Create OAuth Client ID (Web app).
  2. Authorized redirect URIs:
    • http://localhost:3000/api/auth/callback/google
    • https://tasks.rspcbassembly.com/api/auth/callback/google (prod)
  3. Paste client ID + secret into .env.local.

Domain-locked sign-in

Only Google accounts on @rspcbassembly.com can complete sign-in. Enforced server-side in auth.ts signIn callback and configurable via RS_TASKS_ALLOWED_DOMAIN.

License

MIT — upstream code is © Ankita Kulkarni; modifications © R.S. Électronique Inc.

About

An Open Source AI-Powered Todoist Clone

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages