University Planing App https://uplan.twks.net
  • TypeScript 97.1%
  • PLpgSQL 1.7%
  • CSS 1%
  • JavaScript 0.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Tobias Klingenberg e4e3ba89c6 Add DB Migrations
2026-04-23 12:17:43 +02:00
app Add Trimester Support 2026-04-21 23:53:34 +02:00
components Remove grayscale from profile 2026-04-21 15:12:30 +02:00
db Add DB Migrations 2026-04-23 12:17:43 +02:00
hooks first commit 2025-12-07 01:15:30 +01:00
lib Add Trimester Support 2026-04-21 23:53:34 +02:00
public Fix Layout 2025-12-11 15:59:55 +01:00
types Add Trimester Support 2026-04-21 23:53:34 +02:00
util first commit 2025-12-07 01:15:30 +01:00
.gitignore Initial commit from Create Next App 2025-12-06 15:00:42 +01:00
components.json Add Course editor 2025-12-11 15:39:28 +01:00
eslint.config.mjs Linting 2025-12-08 23:52:45 +01:00
LICENSE Add License 2026-02-01 21:40:07 +01:00
next.config.ts Add User Icon for Google 2026-04-21 15:28:10 +02:00
nixpacks.toml Add nixpacks 2025-12-07 01:35:31 +01:00
package-lock.json Add Trimester Support 2026-04-21 23:53:34 +02:00
package.json Add Trimester Support 2026-04-21 23:53:34 +02:00
postcss.config.mjs Initial commit from Create Next App 2025-12-06 15:00:42 +01:00
proxy.ts first commit 2025-12-07 01:15:30 +01:00
README.md Version 0.9.0 2025-12-08 23:37:59 +01:00
tsconfig.json Initial commit from Create Next App 2025-12-06 15:00:42 +01:00

UPlan

Planning workspace built on Next.js + Supabase with protected dashboard views for programs and courses, user account management, and a themed landing page.

Features

  • Supabase auth: sign-up, login, password reset/update, and account deletion (server-side via service role).
  • Program and course management UI with tables/forms and authenticated layout.
  • Responsive design with light/dark theme toggle and animated landing background.
  • Server + client Supabase helpers for SSR and client-side data access.

Stack

  • Next.js (App Router), TypeScript, React 19
  • Supabase (@supabase/ssr, @supabase/supabase-js)
  • Tailwind/shadcn-ui components, Radix Primitives

Prerequisites

  • Node.js 20+ and npm
  • Supabase project (URL + keys)

Environment

Create .env.local with:

NEXT_PUBLIC_SUPABASE_URL=your-supabase-url
NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY=your-supabase-anon-key
SERVICE_ROLE_KEY=your-supabase-service-role-key  # used only on the server

Local Development

npm install
npm run dev
# open http://localhost:3000

Production

npm run lint   # optional
npm run build
npm start      # uses PORT or 3000

Notable Paths

  • app/app/*: authenticated dashboard (programs, courses, settings).
  • auth*: user management routes (e.g., auth/delete for account removal).
  • lib/supabase/*: browser/server Supabase clients.

Deployment Notes

  • Do not expose SERVICE_ROLE_KEY on the client; it must be set as a server-side env var only.
  • Ensure all Supabase env vars are configured in your hosting platform.