Files
react-training/hotel-management/README.md
T
2023-12-04 09:00:00 +07:00

82 lines
3.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# PROJECT
- This is a hotel management web application written by HTML5, CSS3, Typescript, json-server, React and compile by Vite.
## Overview
- Introduce: Build a hotel management web application using HTML5, CSS3, Typescript, json-server, React and compile by Vite.
- Plan: [Link](https://docs.google.com/document/d/1fE_dv1M9Sbcc1KGCmMAC86-T1rYPW6rvhluNhi8nAWU/edit)
- Deploy: [Link](https://hotel-management.loiphan.com/)
## Requirements
- Adding more features for practice 2:
- Converting json-server to Supabase
- Add pagination method
- Add booking pages
- Create booking function
- Add login, logout method
- Update information user login
- Apply useReducer for state management
- Apply [TanStack Query](https://tanstack.com/query/latest/) for fetching data
- Write unit tests for the project.
- Apply [React Hook Form](https://react-hook-form.com/).
## Target
- Known how to state management with useReducer and useContext.
- Understand and know how to use [TanStack Query](https://tanstack.com/query/latest/)
- Unit test coverage greater than 80%
- Know how to use [React Hook Form](https://react-hook-form.com/).
- [PageSpeed](https://pagespeed.web.dev/) scores at minimum of 98 points
## Technical
- [HTML5](https://www.tutorialspoint.com/html5/html5_overview.htm): HTML5 is the latest standard of Hypertext Markup Language, the code that describes the structure and presentation of web pages.
- [CSS3](https://www.htmlgoodies.com/html5/an-overview-of-css3/): Cascading Style Sheets (CSS) is a language used to illustrate a documents look, style, and format in any markup language. In simple words, it is used to style and organize the layout of Web pages. CSS3 is the latest version of an earlier CSS version, CSS2.
- [Typescript](https://www.typescriptlang.org/): TypeScript is a strongly typed programming language that builds on JavaScript, giving you better tooling at any scale.
- [React](https://react.dev/): React is a framework that employs Webpack to automatically compile React, JSX, and ES6 code while handling CSS file prefixes. React is a JavaScript-based UI development library. Although React is a library rather than a language, it is widely used in web development.
- [Vite](https://vitejs.dev/): Vite is a build tool that aims to provide a faster and leaner development experience for modern web projects.
- [TanStack Query](https://tanstack.com/query/latest/): Powerful asynchronous state management for TS/JS, React, Solid, Vue and Svelte
- [Supabase](https://supabase.com/): Supabase is an incredible tool for building secure and high-performance Postgres backends with minimal configuration. It provides developers with a wide array of functionalities similar to Firebase, such as authentication, real-time database, and storage.
## Information
- Timeline:
- Estimate: 7 days
- Actual: 10 days.
- Calendar:
- Start: 2023/11/17
- End: 2023/11/30
## Development Environment
- Node: v18.18.2
- Npm: v9.8.1
- Pnpm: 8.9.2
## Getting started
- Step 1: Clone repository.
- With HTTPS:
- `$ git clone https://github.com/Nez27/react-training.git`.
- Step 2: Move to folder which just cloned in your computer.
- `cd ./react-training`.
- Step 3: Move it to branch react-practice-02.
- `$ git checkout react-practice-02`.
- Step 4: Move to folder hotel-management.
- `$ cd ./hotel-management`.
- Step 5:
- Download this [_file_](https://nezumi27-my.sharepoint.com/:u:/g/personal/admin_nezumi_site/EWmB4skriS9JjPQlemYuFfsB3JZ2-47OuAVDbrzSntUEFg?e=KAFbbh) and put into folder hotel-management (Password: _nezumi_)
- Step 6:
- Open terminal > `pnpm i`.
- Step 7:
- Run `pnpm run dev`.
- Step 8:
- Open http://localhost:5173/ in browser.
## Author
- Loi Phan.
- Email: [phanhuuloi15@gmail.com](phanhuuloi15@gmail.com).