Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/micheld-dev/kasa

Développez une application Web avec React et React Router - Formation OpenClassrooms projet 11
https://github.com/micheld-dev/kasa

code-splitting compound-components context-api deferred-rendering react-router-loading react-router-v6 reactjs18 scss suspense typescript

Last synced: about 5 hours ago
JSON representation

Développez une application Web avec React et React Router - Formation OpenClassrooms projet 11

Awesome Lists containing this project

README

        

# Kasa

#### Location d’appartements entre particuliers en France.

#### Formation OpenClassrooms - Développeur d'applications JavaScript React
#### Projet 11
****
Ce projet, visible sur la branche [Optimized](https://github.com/MichelD-dev/Kasa/tree/Optimized), a d'abord été créé en tirant parti des dernières nouveautés apparues avec React Router v6.4:
- *Loader* incorporé aux routes
- *ErrorElement* pour les pages d'erreur
- *Defer* pour retourner une promesse depuis le *loader*
- Les composants *Await* permettant de résoudre cette promesse avant d'en envoyer le resultat à un composant via un *render prop*
- *useAsyncValue* retourne également la valeur issue de la promesse venant du *loader* et permet de l'utiliser dans le composant enfant d'un *Await*
- *Suspense*, fourni par React 18, permet d'utiliser les fonctions précédentes

Il utilise également certains patterns comme les *composants composés* pour les accordéons, associés à un *Contexte*, et **fait** usage du code-splitting via *React.Lazy* et *Webpack Prefetch*.

Vous trouverez sur la branche par défaut [main](https://github.com/MichelD-dev/Kasa) une version de base n'utilisant pas ou peu ces optimisations, à part les *composants composés* et le *Contexte*.

(back to top)

## Prerequisites

In order to make the application works on your engine you must have NodeJS and
npm installed.

(back to top)

## Installation
****
1. Clone this repository (or download a zip file):
`git clone https://github.com/MichelD-dev/Kasa`

2. Go to the projet root folder `cd kasa`

3. Install the dependencies: `yarn install` or `npm install`

4. (Optional) Configure the application inside the `.env.local` file

5. Launch the application: `yarn start` or `npm run start`

(back to top)

## Contact:
Michel DELAUNAY - [email protected]

Project Link: https://kasa-lodgings.netlify.app/

(back to top)