finds.dev← search

// the find

sudeepmahato16/the-wild-oasis

★ 26 · TypeScript · MIT · updated Nov 2024

An internal hotel management system allows employees to manage everything about hotel bookings, cabins, and guests.

A Next.js 13 port of the popular 'The Wild Oasis' hotel management app (originally a React/Supabase tutorial project by Jonas Schmedtmann), rebuilt with MongoDB, Prisma, and NextAuth. It covers cabin management, bookings, check-in/check-out flows, and a stats dashboard. Primarily a learning/portfolio project rather than something you'd drop into production.

- Clean feature-based folder structure separating hooks, components, and API routes per domain — easy to navigate and extend

- Good use of React Query for server state alongside Next.js 13 App Router, avoiding the common mistake of mixing them badly

- Includes a working seed script with realistic data, making local setup genuinely fast

- Dark mode implemented via context with Tailwind, not just a CSS hack — persists correctly across navigation

- All API routes lack meaningful input validation — no Zod or similar schema checking, so malformed payloads will hit Prisma directly and produce confusing errors

- MongoDB with Prisma is a second-class citizen (no referential integrity, no transactions for multi-step booking operations like check-in with breakfast add-on), which matters here given the relational nature of the data

- No tests at all — not even a single unit test for the helper utilities or hooks, making refactoring risky

- Authorization is thin: middleware checks for a session but individual API routes don't verify the user has rights to modify specific resources, so any authenticated employee can delete any booking or cabin

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →