Skip to content

recky-a/parai-web

πŸ–οΈ Parai Beach Resort & Spa - Web Experience 🌊

License: MIT Next.js React Tailwind CSS TypeScript

Welcome to the official web experience for Parai Beach Resort & Spa! ✨ Explore our beautiful resort, discover luxurious accommodations, browse our top-notch facilities, and start planning your dream getaway.

Parai Resort Homepage Showcase

*A glimpse of the Parai Resort Homepage*

πŸš€ Key Features

This website is designed to provide a comprehensive and delightful experience, showcasing:

  • πŸ–ΌοΈ Engaging Homepage Hero: A dynamic carousel that immediately captures the essence and beauty of Parai Resort.

  • πŸ›Œ Elegant Accommodations: Detailed listings of our rooms and suites, complete with vivid descriptions, image placeholders, comprehensive amenities, and transparent pricing. Start your booking journey here!

  • 🏒 facilities Unparalleled Resort Facilities: Discover the extensive amenities that await you, from our pristine private beach and refreshing outdoor swimming pool to our exquisite restaurant & bar, rejuvenating spa & fitness services, and versatile meeting/event spaces.

  • 🏞️ Visual Gallery: Immerse yourself in the beauty of Parai Resort through our categorized image gallery (Beach, Facilities, Rooms, Dining, Activities, Resort). Enjoy a lightbox feature for a closer look at each moment.

  • πŸ—“οΈ Seamless Booking Interface: An intuitive form that allows guests to easily check room availability based on their desired check-in/check-out dates, number of guests, and preferred room type. (Demo functionality for availability)

  • πŸ—£οΈ Guest Experiences: A rotating carousel featuring authentic or sample testimonials from our delighted guests, building trust and showcasing the Parai experience.

  • πŸ—ΊοΈ Contact & Location Made Easy: A dedicated page with a direct contact form, comprehensive contact details (address, phone, email), and an integrated Google Map to guide you to our paradise.

  • βœ‰οΈ Stay Updated: An elegantly designed newsletter signup component, inviting guests to subscribe for the latest updates, exclusive offers, and exciting news from Parai Resort.

  • πŸ“± Fully Responsive: Experience a seamless and intuitive website across all devices – desktops, tablets, and smartphones.

  • πŸŒ™ Dark Mode Option: Enjoy the flexibility of switching between light and dark themes for a comfortable browsing experience, day or night.

  • πŸ’¬ Instant Inquiry: A convenient WhatsApp Floating Action Button (FAB) for quick and easy communication with our team.

  • πŸ“€ Effortless Sharing: Easily share the "Contact Us" page with friends and family via various social media platforms.

πŸ› οΈ Built With

This project leverages a cutting-edge technology stack for optimal performance and a delightful user experience:

βš™οΈ Getting Started

Ready to run this project locally? Follow these simple steps:

Prerequisites

  • Node.js (Version 18.18.0 or later recommended - check package.json for specific engine requirements)
  • npm, yarn, or pnpm (choose your preferred package manager)

Installation

  1. Clone the repository:

    git clone https://github.com/recky-a/parai-web.git
    cd parai-web
  2. Install dependencies:

    • Using npm:

      npm install
    • Using yarn:

      yarn install
    • Using pnpm:

      pnpm install

πŸƒ Running the Development Server

To start the development server and see the magic happen:

npm run dev
# or
yarn dev
# or
pnpm dev

Open your browser and navigate to http://localhost:3000 to experience the Parai Resort website in development mode.

Other Useful Commands:

  • Build for Production:

    npm run build
  • Start Production Server:

    npm run start
  • Run ESLint:

    npm run lint

πŸ“‚ Project Structure

Here's a quick look at the main directories and their purpose:

parai-web/
β”œβ”€β”€ app/
β”‚   β”œβ”€β”€ booking/         # Booking page and related components
β”‚   β”œβ”€β”€ fasilitas/       # Facilities page
β”‚   β”œβ”€β”€ galeri/         # Gallery page
β”‚   β”œβ”€β”€ kamar-suite/     # Rooms & Suites listing page
β”‚   β”œβ”€β”€ kontak-kami/     # Contact Us page
β”‚   β”œβ”€β”€ globals.css     # Global styles
β”‚   β”œβ”€β”€ layout.tsx      # Root layout
β”‚   └── page.tsx        # Homepage
β”œβ”€β”€ components/
β”‚   β”œβ”€β”€ global/         # Global components (Navbar, Footer, WhatsAppFAB, NewsletterSignup)
β”‚   β”œβ”€β”€ sections/       # Page-specific section components
β”‚   β”‚   └── beranda/    # Homepage specific sections
β”‚   β”œβ”€β”€ ui/             # Reusable UI components (Shadcn UI)
β”‚   β”œβ”€β”€ mode-toggle.tsx # Dark/Light mode toggle
β”‚   └── theme-provider.tsx # Theme provider for Next-Themes
β”œβ”€β”€ lib/
β”‚   β”œβ”€β”€ data.ts         # Static data (rooms, testimonials, gallery, navigation)
β”‚   └── utils.ts        # Utility functions (e.g., class name merging)
β”œβ”€β”€ public/           # Static assets (images, fonts)
β”œβ”€β”€ .github/          # (Recommended) GitHub specific files
β”œβ”€β”€ next.config.ts    # Next.js configuration
β”œβ”€β”€ package.json      # Project dependencies and scripts
β”œβ”€β”€ tsconfig.json     # TypeScript configuration
β”œβ”€β”€ eslint.config.mjs  # ESLint configuration
β”œβ”€β”€ postcss.config.mjs # PostCSS configuration (Tailwind CSS)
β”œβ”€β”€ components.json   # Shadcn UI configuration
└── README.md         # This very file!

πŸ–ΌοΈ Screenshots

Get a visual taste of the website:

Homepage:

Description: The main landing page featuring a captivating hero carousel and introductory sections.

Kamar & Suite Page:

Description: A detailed listing of our available rooms and suites, complete with images and essential information.

Booking Page:

Description: The user-friendly interface for checking room availability and initiating the booking process.

Galeri Page (Mobile View):

Description: A glimpse of the resort's beauty showcased in a mobile-responsive photo gallery.

🀝 Contributing

We welcome contributions! If you have ideas for improvements or encounter any bugs, please follow these guidelines:

  1. Fork the Project on GitHub.
  2. Create your Feature Branch: git checkout -b feature/YourAmazingFeature
  3. Commit your Changes: git commit -m 'Add some AmazingFeature'
  4. Push to the Branch: git push origin feature/YourAmazingFeature
  5. Open a Pull Request on the main repository.

Please ensure your code adheres to our linting rules by running npm run lint before submitting your pull request. For more detailed contribution guidelines, consider adding a CONTRIBUTING.md file.

🌱 Community, Support & Contribution

We aim to foster a welcoming and collaborative community.

πŸ“œ License

This project is licensed under the MIT License. See the LICENSE file for more details.

πŸ™ Acknowledgements

We extend our sincere gratitude to the following open-source projects and communities that made this web experience possible:

  • Shadcn UI for the incredible collection of accessible and composable UI components.
  • Lucide React for the beautiful and consistent icon library.
  • Unsplash and other image sources for providing stunning placeholder and demo images.
  • The Next.js and React teams for their powerful and developer-friendly frameworks.
  • Vercel for providing excellent deployment services.

About

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project