Skip to content

franzxml/hotel-48

Repository files navigation

Hotel 48

Deskripsi

Hotel 48 merupakan sistem informasi manajemen reservasi hotel berbasis web yang dirancang untuk memodernisasi proses pemesanan kamar dan pengelolaan operasional hotel. Sistem ini memfasilitasi pelanggan untuk mencari ketersediaan kamar, melakukan reservasi secara online, dan memilih metode pembayaran digital. Bagi administrator, sistem ini menyediakan fitur manajemen tipe kamar, unit fisik, serta laporan transaksi secara real-time. Hotel 48 bertujuan untuk menggantikan proses reservasi manual dengan solusi digital yang efisien, aman, dan terintegrasi dengan Google OAuth serta simulasi payment gateway.

Teknologi (Next.js Rewrite)

  • Next.js 15 (App Router)
  • TypeScript
  • Prisma ORM
  • PostgreSQL (Neon)
  • NextAuth.js v5 (Google OAuth & Credentials)
  • Tailwind CSS v4
  • Shadcn/ui (UI Components)
  • React Hook Form + Zod (Form Validation)

Struktur Folder

HOTEL-48/
├── app/
│   ├── actions/          # Server actions
│   ├── api/              # API routes
│   ├── login/            # Login page
│   ├── register/         # Register page
│   ├── layout.tsx        # Root layout
│   └── page.tsx          # Homepage
├── components/
│   ├── auth/             # Auth components
│   ├── layout/           # Layout components (Header, Footer)
│   ├── providers/        # Context providers
│   └── ui/               # UI components (Button, Card, etc)
├── lib/
│   ├── validations/      # Zod schemas
│   ├── db.ts             # Prisma client
│   ├── utils.ts          # Utility functions
│   └── date-utils.ts     # Date utilities
├── prisma/
│   └── schema.prisma     # Database schema
├── types/
│   └── next-auth.d.ts    # NextAuth type definitions
├── .env                  # Environment variables
├── .env.example          # Example env file
├── auth.ts               # NextAuth configuration
├── middleware.ts         # Route protection
└── vercel.json           # Vercel deployment config

Status Migrasi

Selesai:

  • Infrastructure setup (Next.js, Prisma, Neon DB)
  • Authentication system (Login, Register, Google OAuth)
  • Database schema dan migrations
  • Layout components (Header, Footer)
  • Landing page

🚧 Dalam Progress:

  • Customer features (Search, Booking, Payment)
  • Admin features (Room/Unit management, Reports)
  • PDF invoice generation

Cara Menjalankan

Prerequisites

  • Node.js 18+ dan npm
  • PostgreSQL database (atau akun Neon)
  • Google OAuth credentials (opsional)

Setup Lokal

  1. Clone repository:

    git clone https://github.com/franzxml/hotel-48.git
    cd hotel-48
  2. Install dependencies:

    npm install
  3. Setup environment variables:

    cp .env.example .env

    Edit .env dan isi:

    • DATABASE_URL: Connection string PostgreSQL/Neon
    • NEXTAUTH_SECRET: Generate dengan openssl rand -base64 32
    • NEXTAUTH_URL: http://localhost:3000 (development)
    • GOOGLE_CLIENT_ID & GOOGLE_CLIENT_SECRET: Dari Google Cloud Console
  4. Setup database:

    npx prisma generate
    npx prisma db push
  5. Jalankan development server:

    npm run dev
  6. Akses aplikasi: Buka browser dan kunjungi http://localhost:3000

Build untuk Production

npm run build
npm start

Deployment ke Vercel

  1. Push ke GitHub (sudah otomatis terhubung)

  2. Import project ke Vercel:

    • Kunjungi vercel.com
    • Import repository franzxml/hotel-48
  3. Setup environment variables di Vercel:

    • DATABASE_URL
    • NEXTAUTH_SECRET
    • NEXTAUTH_URL (gunakan domain Vercel)
    • GOOGLE_CLIENT_ID
    • GOOGLE_CLIENT_SECRET
  4. Deploy:

    • Vercel akan otomatis build dan deploy
    • Jalankan Prisma migrations: npx prisma migrate deploy (via Vercel CLI)

Domain Production

Website dapat diakses melalui:

Migrasi dari PHP

Versi PHP lama tersimpan di git tag php-final-version. Untuk melihat:

git checkout php-final-version

Dikembangkan oleh: @franzxml & Kings-Bilbil
Tech Stack: Next.js 15 + TypeScript + Prisma + PostgreSQL + NextAuth.js

About

Sistem Informasi Reservasi Hotel berbasis PHP Native dengan arsitektur MVC dan integrasi Payment Gateway.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •