Le Dream — Hotel Website (React + Vite)
A modern, responsive hotel website built with React, Vite, and Tailwind CSS. It demonstrates a production-like front-end for showcasing rooms, amenities, and multilingual content with smooth carousels and a clean UI.
<!-- Badges -->Demo
Live demo: https://le-dream.vercel.app/
What the project does
- Provides a single-page application (SPA) showcasing a hotel's pages: Home, Rooms, Amenities, Explore, Bar & Resto, Contact, and Legal pages.
- Client-side routing with
react-router-dom. - Multilingual UI powered by
i18nextandreact-i18next. - Image carousels using
swiperand icons vialucide-react. - Toast notifications using
react-toastify.
Why this is useful
- Good starter template for hospitality websites and marketing landing pages.
- Demonstrates internationalization (i18n) in a React app.
- Built with modern tooling: Vite, Tailwind, and React 19.
- Easy to extend for booking integrations, CMS, or headless backends.
Key features
- Multilanguage support (English, Chinese, Japanese)
- Responsive layout and optimized images
- Reusable UI components under
src/assets/components - Sectioned pages that are straightforward to adapt or extend
Quick Start
Prerequisites:
- Node.js 18+ (or a recent LTS)
- npm, Yarn, or PNPM
Clone and run locally:
git clone https://github.com/yourusername/le-dream.git
cd le-dream
npm install
npm run dev
Open your browser to http://localhost:5173.
Available npm scripts (from package.json):
npm run dev— Start the Vite development servernpm run build— Build the production bundlenpm run preview— Preview the production build locallynpm run lint— Run ESLint
Project structure (high level)
-
src/— Source codeassets/components/— Reusable UI components (Header, Footer, Carousel, etc.)assets/pages/— Page components (Home, Rooms, Explore, etc.)sections/— Page sections used to compose pageslocales/— Translation JSON filesi18n.js— i18next initialization
-
public/— Static files and thumbnails -
vite.config.js— Vite configuration -
package.json— Project metadata and scripts
Usage examples
Import and use a component (example):
import { BookButton } from './src/assets/components/buttons/BookButton'
export default function Demo() {
return <BookButton />
}
Switching languages is handled via i18next; see src/i18n.js and src/locales/*.json for available translations.
Where to get help
- Open an issue on GitHub:
https://github.com/yourusername/le-dream/issues - Email the maintainer:
rashidvisda@gmail.com
Contributing
Contributions are welcome. See CONTRIBUTING.md for a short checklist and how to open a PR.
Notes:
- Keep changes focused and follow the existing code style (ESLint + Prettier + Tailwind order).
- Large refactors should be discussed in an issue first.
Maintainers
- Primary contact:
rashidvisda@gmail.com

