https://github.com/vittoriopiotti/hotelsbooking-app-reactnative
Applicazione per prenotare le stanze di un hotel (ottimizata per IOS)
https://github.com/vittoriopiotti/hotelsbooking-app-reactnative
android app bookings client hotels ios react-native rooms typescript visual-studio-code xcode
Last synced: 15 days ago
JSON representation
Applicazione per prenotare le stanze di un hotel (ottimizata per IOS)
- Host: GitHub
- URL: https://github.com/vittoriopiotti/hotelsbooking-app-reactnative
- Owner: vittorioPiotti
- License: gpl-3.0
- Created: 2024-05-22T09:51:02.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-10-21T02:38:22.000Z (6 months ago)
- Last Synced: 2024-10-21T03:35:05.374Z (6 months ago)
- Topics: android, app, bookings, client, hotels, ios, react-native, rooms, typescript, visual-studio-code, xcode
- Language: TypeScript
- Homepage: https://drive.google.com/file/d/1GU0UdAivfWaAG_9hqdG9vJs4TBVn2FR_/view
- Size: 48.4 MB
- Stars: 42
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE-Bootstrap
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
# Gestione Hotels
Link al Server di Gestione Hotels: [(link)](https://github.com/vittorioPiotti/Gestione-Hotels-Server)
Applicazione per prenotare le stanze di un Hotel
> [!NOTE]
> Progetto scolastico ๐ ยท โ ค---
### Indice
1. [Riepilogo Prodotto](#riepilogo-prodotto)
2. [Casi d'uso](#casi-duso)
3. [Riepilogo Tecnico](#riepilogo-tecnico)
4. [Implementazioni Future](#implementazioni-future)---
||
|
|
|
|
|
|
|
|
| ------------ | ------------ | ------------ | ------------ | ------------ | ------------ | ------------ | ------------ | ------------ |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| | |
---
## Riepilogo Prodotto
### Prodotto
Applicazione Android e IOS per la prenotazione delle stanze di un hotel.
### Scopo
Un cliente puรฒ prenotare la stanza di un albergo scegliendo tra le stanze degli alberghi forniti.
### Casi d'Uso
Le schermate sono state acquisite da dispositivo fisico IOS: Iphone 14 Plus
|
|
|
|
|
| ------------ | ------------ | ------------ | ------------ |
|1| 2 | 3 | 4 |1. L'utente sceglie l'hotel
2. L'utente sceglie la stanza
3. l'utente prenota
4. l'utente sceglie la data## Riepilogo Tecnico
### Obbiettivo
App Multi Platform in React-Native che gestisce le richieste con un server web
### Indice
1. [Tecnologie](#tecnologie)
2. [Prototyping ](#prototyping)
3. [Testing](#testing)
4. [Distribuzione Locale](#distribuzione-locale)
5. [API](#api)
6. [Albero di Path](#albero-di-path)---
### Tecnologie
Framework e linguaggi
- React-native v.0.74.0
- Typescript
Comunicazione con server web:
- Uso protocollo HTTPS
- Utilizzo di Fetch
- Sistena di API e Endpoints### Prototyping
La fase di prototyping รจ stata elaborata tramite gli strumenti offerti da [Figma](https://www.figma.com/files/recents-and-sharing/recently-viewed?fuid=1329721993264671153) da cui รจ stato realizzato il mockup dell'applicazione ([link](https://www.figma.com/design/BpWZ6Xun7IkvYqavXrUkGt/GestioneHotel?node-id=0-1&t=Pr9SRdNo9SgsqGOc-0)).
### Testing
> [!TIP]
> iPhone 14 Plus ([video](https://drive.google.com/file/d/1GU0UdAivfWaAG_9hqdG9vJs4TBVn2FR_/view?pli=1))
> Lโapp รจ pronta per essere distribuita.### Distribuzione Locale
1. Si crea il progetto React-Native dalla guida [React-Native](https://reactnative.dev/docs/environment-setup)
2. Si caricano i file sorgente sostituendo quelli giร presenti
3. Si segue la guida per il caricamento dei font ([link](https://medium.com/@lewie9021/custom-fonts-in-react-native-85d814ca084))
### API| Nome API | URL | Parametri | Descrizione |
|-------------------------|----------------------------------------------|-------------------------------------|--------------------------------------------------------------------------------|
| **getBookingsDataApp** | `/api?type=book&method=getBookingsDataApp` | `clientId=${globalId}` | Ottiene i dati delle prenotazioni per il cliente specificato. |
| **newbooking** | `/api?type=book&method=newbooking` | Nessuno | Crea una nuova prenotazione. |
| **getHotelsDataApp** | `/api?type=hotel&method=getHotelsDataApp` | Nessuno | Ottiene i dati di tutti gli hotel. |
| **getHotelDataApp** | `/api?type=hotel&method=getHotelDataApp` | `idHotel=${idAlbergo}` | Ottiene i dati di un hotel specifico. |
| **getHotelRoomsDataApp**| `/api?type=room&method=getHotelRoomsDataApp` | `idHotel=${idAlbergo}` | Ottiene i dati delle stanze di un hotel specifico. |
| **getClientEmail** | `/api?type=auth&method=getClientEmail` | `idClient=${globalId}` | Ottiene l'email del cliente specificato. |
| **editClientEmail** | `/api?type=auth&method=editClientEmail` | Nessuno | Modifica l'email del cliente. |
| **editClientPassw** | `/api?type=auth&method=editClientPassw` | Nessuno | Modifica la password del cliente. |
| **deleteClient** | `/api?type=auth&method=delete` | `authState=client` | Elimina il cliente. |
| **loginClient** | `/api?type=auth&method=login` | `authState=client` | Esegue il login per il cliente. |
| **dynamicClientMethod** | `/api?type=auth&method=${apiMethod}` | Nessuno | Esegue una richiesta dinamica del client basata sul metodo specificato. |### Albero di Path
```bash
$ tree
.
โโโ src
โโโ assets
โ โโโ fonts
โ โโโ images
โโโ scripts
โ โโโ constants
โ โ โโโ activities.tsx
โ โ โโโ colors.tsx
โ โ โโโ connection.tsx
โ โ โโโ fonts.tsx
โ โ โโโ images.tsx
โ โ โโโ screens.tsx
โ โโโ features
โ โ โโโ navigation
โ โ โ โโโ Books.tsx
โ โ โ โโโ Home.tsx
โ โ โ โโโ Hotel.tsx
โ โ โ โโโ Room.tsx
โ โ โ โโโ Rooms.tsx
โ โ โโโ onboarding
โ โ โ โโโ Preview.tsx
โ โ โโโ profile
โ โ โโโ Auth.tsx
โ โ โโโ Profile.tsx
โ โ โโโ Settings.tsx
โ โ โโโ SignIn.tsx
โ โโโ layouts
โ โโโ Calendar.tsx
โ โโโ Footer.tsx
โ โโโ Header.tsx
โ โโโ Modal.tsx
โโโ App.tsx```
### Implementazioni Future
| Libreria| Routing tra le schermate| Richieste HTTPS| Token di accesso| Sicurezza dei dati|
| ------------| ------------ | ------------ | ------------ | ------------ |
| Versione Attuale | Nessuna| Fetch | Nessuna| Nessuna |
| Versioni Future | [React Navigation](https://www.npmjs.com/package/@react-navigation/native)| [Axios](https://www.npmjs.com/package/axios)| [AsyncStorage](https://www.npmjs.com/package/@react-native-async-storage/async-storage)| [crypto-js](https://www.npmjs.com/package/crypto-js)|## Licenze
> [!WARNING]
> Questo software รจ rilasciato sotto la licenza **GPL v3** quindi l'uso, la modifica e la distribuzione del codice sorgente ne deve rispettare i termini.
>
> I contenuti multimediali possono essere soggetti a una **licenza non commerciale** richiedendo l'acquisto di una licenza separata.> [!NOTE]
> Icone SVG di **Bootstrap**### HotelsBookingApp
**Copyright** 2024 Vittorio Piotti [(GitHub page)](https://github.com/vittorioPiotti) [(Personal page)](https://vittoriopiotti.altervista.org/)
**Version** [v1.0.0](https://github.com/vittorioPiotti/HotelsBooking-App-ReactNative/releases/tag/v1.0.0)
**License** [GPL-3.0](https://github.com/vittorioPiotti/HotelsBooking-App-ReactNative/blob/main/LICENSE.md)
---
### Calendar
**Copyright** 2024 Vittorio Piotti [(GitHub page)](https://github.com/vittorioPiotti) [(Personal page)](https://vittoriopiotti.altervista.org/)
**Version** [v1.0.0](https://github.com/vittorioPiotti/Calendar-Widget-ReactNative/releases/tag/1.0.0)
**License** [GPL-3.0](https://github.com/vittorioPiotti/Calendario-React-Native/blob/main/LICENSE.md)
---
### Bootstrap Icons
**Copyright** 2011-2018 The Bootstrap Authors
**Version** [v1.11.0](https://blog.getbootstrap.com/2023/09/12/bootstrap-icons-1-11-0/)
**License** [MIT](https://github.com/twbs/icons/blob/main/LICENSE)
---
### React Native
**Copyright** Facebook, Inc.
**Version** [v0.74.0](https://reactnative.dev/blog/2024/04/22/release-0.74)
**License** [MIT](https://github.com/facebook/react-native/blob/main/LICENSE)
---
### NunitoSans
**Copyright** 2016 The Nunito Sans Project Authors
**License** [OFL](https://github.com/googlefonts/NunitoSans/blob/main/OFL.txt)