A Thai law-study spaced-repetition planner that syncs memorization schedules to Google Calendar. Built for Thai law students and legal professionals.
- Node.js (20+)
-
Install dependencies:
npm install
-
Configure environment variables. Copy
.env.exampleto.env(and/or.env.localfor Vite) and fill in the values:Variable Used by Purpose GOOGLE_CLIENT_IDserver Google Cloud Console OAuth Client ID ( server.ts)GOOGLE_CLIENT_SECRETserver Google Cloud Console OAuth Client Secret ( server.ts)APP_URLserver Public origin of the app; pins the OAuth redirect target VITE_GOOGLE_CLIENT_IDclient build OAuth Client ID baked into the bundle ( src/lib/auth.ts)The server also honors
PORT(defaults to3000).
npm run devRuns the Express server with Vite in middleware mode.
npm run build
npm startnpm run build produces the client bundle and bundles server.ts to
dist/server.cjs; npm start serves the built app.
npm testnpm run lint