[go: up one dir, main page]

Skip to content

vittorioPiotti/HotelsBooking-App-ReactNative

Icona

Gestione Hotels

Link al Server di Gestione Hotels: (link)

Applicazione per prenotare le stanze di un Hotel

Note

Progetto scolastico

Support Me

ko-fi

Indice

  1. Riepilogo Prodotto
  2. Casi d'uso
  3. Riepilogo Tecnico
  4. Implementazioni Future

Icona Icona Icona Icona Icona Icona Icona Icona Icona
Icona Icona Icona Icona Icona Icona Icona Icona Icona
Icona Icona Icona Icona Icona Icona Icona Icona Icona

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

Icona Icona Icona Icona
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
  2. Prototyping
  3. Testing
  4. Distribuzione Locale
  5. API
  6. 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 da cui è stato realizzato il mockup dell'applicazione (link).

Testing

Tip

iPhone 14 Plus (video) L’app è pronta per essere distribuita.

Distribuzione Locale

  1. Si crea il progetto React-Native dalla guida React-Native
  2. Si caricano i file sorgente sostituendo quelli già presenti
  3. Si segue la guida per il caricamento dei font (link)

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

$ 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 Axios AsyncStorage 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) (Personal page)

Version v1.0.0

License GPL-3.0


Calendar

Copyright 2024 Vittorio Piotti (GitHub page) (Personal page)

Version v1.0.0

License GPL-3.0


Bootstrap Icons

Copyright 2011-2018 The Bootstrap Authors

Version v1.11.0

License MIT


React Native

Copyright Facebook, Inc.

Version v0.74.0

License MIT


NunitoSans

Copyright 2016 The Nunito Sans Project Authors

License OFL