A web application designed to facilitate the booking of hotels and accommodations. It allows users to search for hotels, view detailed hotel information, and complete bookings securely. The platform also provides administrative functionality for managing hotels, cities, and rooms.
Frontend
React: The core library for building the user interface.
React Router DOM: Used for managing routing and navigation across the application.
Redux Toolkit: Global state management solution for handling app-wide state.
Axios: For making API requests to the backend.
Formik: For managing forms and form validation.
React Query: For fetching, caching, and syncing server data in the app.
Dayjs: For handling date and time operations.
Styled Components: A library for writing scoped and dynamic CSS directly in JavaScript.
Material UI (MUI): A component library for React that provides ready-to-use components.
Swiper: For creating sliders and carousels for image galleries.
Leaflet & React-Leaflet: For embedding interactive maps.
SweetAlert2: For handling stylish alerts and popups.
React Toastify: For displaying toast notifications to the user.
Yup: For validation schemas, often used with Formik for form validation.
Dev Tools
Vite: A modern build tool for fast development and production builds.
Storybook: A tool for building and showcasing UI components in isolation.
ESLint & Prettier: For code linting and formatting to ensure consistent code style.
Husky: For running pre-commit hooks to ensure code quality before commits.
Lint-Staged: Runs linting only on staged files before committing.
TypeScript: For static type checking and improved code quality.
Vite Plugin SVGR: To import SVG files as React components.
Backend
JWT Decode: For decoding JSON Web Tokens (JWT) for authentication and authorization.
Package Manager
Yarn: A fast, reliable package manager used to manage dependencies.
- Sidebar with filters for price range, star rating, and amenities.
- Listings of hotels matching search criteria.
Navigator with links to Cities, Hotels, and Rooms.
Filters for the grids.
Detailed information and management options for Cities, Hotels, and Rooms.
Form for creating new entities like Cities, Hotels, or Rooms.
Forms for updating information on entities within the platform.
I extend my sincere gratitude to Foothill Technology Solutions for granting me the opportunity to participate in this internship cycle. Their unwavering support has been instrumental throughout the development of this project.