Link al Server di Gestione Hotels: (link)
Applicazione per prenotare le stanze di un Hotel
Note
Il progetto è stato sviluppato a scuola per fini scolastici in funzione della consegna assegnata dal docente come lavoro individuale
Tip
Corretto funzionamento garantito
Tip
Compatibilità Multiplatform con Android e IOS
Applicazione Android e IOS per la prenotazione delle stanze di un hotel.
Un cliente può prenotare la stanza di un albergo scegliendo tra le stanze degli alberghi forniti.
Le schermate sono state acquisite da dispositivo fisico IOS: Iphone 14 Plus
1 | 2 | 3 | 4 |
- L'utente sceglie l'hotel
- L'utente sceglie la stanza
- l'utente prenota
- l'utente sceglie la data
App Multi Platform in React-Native che gestisce le richieste con un server web
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
La fase di prototyping è stata elaborata tramite gli strumenti offerti da Figma da cui è stato realizzato il mockup dell'applicazione (link).
Tip
iPhone 14 Plus (video) L’app è pronta per essere distribuita.
- Si crea il progetto React-Native dalla guida React-Native
- Si caricano i file sorgente sostituendo quelli già presenti
- Si segue la guida per il caricamento dei font (link)
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. |
$ 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
Libreria | Routing tra le schermate | Richieste HTTPS | Token di accesso | Sicurezza dei dati |
---|---|---|---|---|
Versione Attuale | Nessuna | Fetch | Nessuna | Nessuna |
Versioni Future | React Navigation | Axios | AsyncStorage | crypto-js |
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.
Componente | Versione | Copyright | Licenza |
---|---|---|---|
Gestione Hotels App | v1.0.0 | 2024 Vittorio Piotti | GPL-3.0 License |
Calendario React Native | v1.0.0 | 2024 Vittorio Piotti | GPL-3.0 License |
Bootstrap | v4.0.0 | 2011-2018 The Bootstrap Authors | MIT License |
React Native | v0.74.0 | Facebook, Inc. | MIT License |
NunitoSans | googlefonts | OFL License |
Note
Di Bootstrap* sono state utilizzate solo le icone