Skip to content

Repository files navigation

Icon-iOS-Default-256x256@1x

Hyperion — Workspace Booking

A desk & room booking platform built with Next.js 16 (App Router), shadcn/ui, Drizzle ORM, and Neon Postgres.

Features (MVP)

  • Overview dashboard — live availability, utilization, today's bookings.
  • Directory — browse rooms and desks with search + type/status filters.
  • Space detail — capacity, equipment, upcoming bookings.
  • Booking flow — reserve a space with a date/time picker; server-side conflict detection prevents double-booking.
  • Reservations — view and cancel your upcoming bookings.
  • Light/dark mode, mock signed-in user (Achmad Hakim, Facility Manager).

Getting started

1. Add your Neon connection string

cp .env.example .env.local

Edit .env.local and paste your pooled Neon connection string from console.neon.tech → your project → Connection Details.

2. Create the schema and seed demo data

npm run db:push    # create tables in your Neon database
npm run db:seed    # populate demo building, spaces, users & bookings

3. Run the app

npm run dev

Open http://localhost:3000.

Scripts

Script Description
npm run dev Start the dev server
npm run build Production build
npm run db:push Push the Drizzle schema to Neon
npm run db:seed Seed demo data
npm run db:studio Open Drizzle Studio to inspect the database

Architecture

  • app/(app)/ — authenticated app shell (sidebar layout) + routes.
  • lib/db/schema.ts — Drizzle tables (buildings → floors → zones → spaces, users, bookings).
  • lib/db/queries.ts — read queries + derived live space status.
  • lib/actions.ts — server actions (createBooking, cancelBooking).
  • lib/auth.ts — mock current user (swap for Auth.js/Clerk later).
  • components/ — feature components on top of components/ui/ (shadcn).

About

A clean, modern, workspace booking platform

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages