Skip to content

BCIamLong/bookings-app-client

Repository files navigation

Booking Website

Booking web is a single-page application that allows users to login and book cabins. The website includes a variety of features such as user authentication, profile management, payment processing, email notifications, and more.

This Booking web is a client for Booking API

Table of contents

Features

  • User authentication and authorization (Login, Register, 2FA)
  • Profile Management (Upload Image, Update Name,Email, Password)
  • Settings Management (Edit Email, Edit Password, Deactivate Account)
  • Dark Mode
  • Responsive Design
  • Payment Processing
  • Email Notifications
  • Form Handling with React Hook Form
  • Animations with Framer Motion
  • Notifications with React Toastify
  • Errors handler with React Error Boundary
  • Multiple languages with i18n

Tech Stack

  • Frontend: React, TypeScript
  • Styling: Tailwind CSS
  • State Management: React Query
  • Form Handling: React Hook Form
  • Animations: Framer Motion
  • Routing and Navigation: React Router
  • Errors handler: React Error Boundary
  • Multiple languages: i18n, react-i18n
  • Notifications: React Toastify
  • Deployment: Vercel
  • Version Control: Git

Installation

Prerequisites

  • Node.js
  • npm or yarn (in this project i used yarn)
  • Vercel account

Steps

1, Clone the repository

git clone https://github.com/BCIamLong/bookings-app-client.git
cd bookings-app-client

2, Install dependencies

yarn install

3, Install backend:

Go to this repo to install and set up the booking API for backend

If you already have backend then just use it

4, Set up environment variables

Go to the config folder and go through the config files and change the environment variables for your project

5, Run the application

Notice: you need to start API server and then after than run client

yarn run dev

Deployment

The project is deployed on Vercel. Follow these steps to deploy your own instance:

  • Create a Vercel account and set up a new project.
  • Connect your GitHub repository containing the booking website project.
  • Set up CI/CD commands, environment variables
  • Deploy the project.