{"id":21633737,"url":"https://github.com/vittoriopiotti/hotelsbooking-app-reactnative","last_synced_at":"2025-04-11T15:28:49.809Z","repository":{"id":241089203,"uuid":"804281642","full_name":"vittorioPiotti/HotelsBooking-App-ReactNative","owner":"vittorioPiotti","description":"Applicazione per prenotare le stanze di un hotel  (ottimizata per IOS)","archived":false,"fork":false,"pushed_at":"2024-10-21T02:38:22.000Z","size":50784,"stargazers_count":42,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-21T03:35:05.374Z","etag":null,"topics":["android","app","bookings","client","hotels","ios","react-native","rooms","typescript","visual-studio-code","xcode"],"latest_commit_sha":null,"homepage":"https://drive.google.com/file/d/1GU0UdAivfWaAG_9hqdG9vJs4TBVn2FR_/view","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vittorioPiotti.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-Bootstrap","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-22T09:51:02.000Z","updated_at":"2024-10-21T02:38:26.000Z","dependencies_parsed_at":"2024-05-22T18:53:14.251Z","dependency_job_id":"214c7216-a38e-475d-9d34-045ea0a0ed48","html_url":"https://github.com/vittorioPiotti/HotelsBooking-App-ReactNative","commit_stats":null,"previous_names":["vittoriopiotti/gestionehotels","vittoriopiotti/gestione-hotel-react-native","vittoriopiotti/gestione-hotel-app","vittoriopiotti/gestione-hotels-app","vittoriopiotti/hotelsbooking-app-reactnative"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vittorioPiotti%2FHotelsBooking-App-ReactNative","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vittorioPiotti%2FHotelsBooking-App-ReactNative/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vittorioPiotti%2FHotelsBooking-App-ReactNative/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vittorioPiotti%2FHotelsBooking-App-ReactNative/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vittorioPiotti","download_url":"https://codeload.github.com/vittorioPiotti/HotelsBooking-App-ReactNative/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248430694,"owners_count":21102062,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","app","bookings","client","hotels","ios","react-native","rooms","typescript","visual-studio-code","xcode"],"created_at":"2024-11-25T03:13:38.735Z","updated_at":"2025-04-11T15:28:49.793Z","avatar_url":"https://github.com/vittorioPiotti.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\u003cimg src=\"https://github.com/vittorioPiotti/Gestione-Hotel-PHP/blob/main/header.png\"  alt=\"Icona\"/\u003e\n\n\n\n\n# Gestione Hotels\n\n\nLink al Server di Gestione Hotels: [(link)](https://github.com/vittorioPiotti/Gestione-Hotels-Server)\n\n\nApplicazione per prenotare le stanze di un Hotel\n\n\u003e [!NOTE]\n\u003e Progetto scolastico 🎓 · Ⅴ\n\n\n\n---\n\n### Indice\n\n1. [Riepilogo Prodotto](#riepilogo-prodotto)\n2. [Casi d'uso](#casi-duso)\n3. [Riepilogo Tecnico](#riepilogo-tecnico)\n4. [Implementazioni Future](#implementazioni-future)\n\n\n\n---\n| \u003cimg src=\"https://github.com/vittorioPiotti/GestioneHotels/blob/main/project/screenshots/onboarding.PNG\" alt=\"Icona\" width=\"200\"/\u003e | \u003cimg src=\"https://github.com/vittorioPiotti/GestioneHotels/blob/main/project/screenshots/lista_alberghi.PNG\" alt=\"Icona\" width=\"200\"/\u003e  | \u003cimg src=\"https://github.com/vittorioPiotti/GestioneHotels/blob/main/project/screenshots/albergo_scelto.PNG\" alt=\"Icona\" width=\"200\"/\u003e  | \u003cimg src=\"https://github.com/vittorioPiotti/GestioneHotels/blob/main/project/screenshots/lista_stanze.PNG\" alt=\"Icona\" width=\"200\"/\u003e  | \u003cimg src=\"https://github.com/vittorioPiotti/GestioneHotels/blob/main/project/screenshots/errore_prenotazione_accesso.PNG\" alt=\"Icona\" width=\"200\"/\u003e  | \u003cimg src=\"https://github.com/vittorioPiotti/GestioneHotels/blob/main/project/screenshots/errore_lista_prenotazioni_accesso.PNG\" alt=\"Icona\" width=\"200\"/\u003e  |  \u003cimg src=\"https://github.com/vittorioPiotti/GestioneHotels/blob/main/project/screenshots/autenticazione.PNG\" alt=\"Icona\" width=\"200\"/\u003e  | \u003cimg src=\"https://github.com/vittorioPiotti/GestioneHotels/blob/main/project/screenshots/accesso.PNG\" alt=\"Icona\" width=\"200\"/\u003e  | \u003cimg src=\"https://github.com/vittorioPiotti/GestioneHotels/blob/main/project/screenshots/registrazione.PNG\" alt=\"Icona\" width=\"200\"/\u003e  | \n| ------------ | ------------ | ------------ | ------------ | ------------ | ------------ | ------------ | ------------ | ------------ | \n| \u003cimg src=\"https://github.com/vittorioPiotti/GestioneHotels/blob/main/project/screenshots/impostazioni.PNG\" alt=\"Icona\" width=\"200\"/\u003e | \u003cimg src=\"https://github.com/vittorioPiotti/GestioneHotels/blob/main/project/screenshots/profilo.PNG\" alt=\"Icona\" width=\"200\"/\u003e | \u003cimg src=\"https://github.com/vittorioPiotti/GestioneHotels/blob/main/project/screenshots/modifica_email.PNG\" alt=\"Icona\" width=\"200\"/\u003e| \u003cimg src=\"https://github.com/vittorioPiotti/GestioneHotels/blob/main/project/screenshots/modifica_password.PNG\" alt=\"Icona\" width=\"200\"/\u003e| \u003cimg src=\"https://github.com/vittorioPiotti/GestioneHotels/blob/main/project/screenshots/elimina_profilo.PNG\" alt=\"Icona\" width=\"200\"/\u003e| \u003cimg src=\"https://github.com/vittorioPiotti/GestioneHotels/blob/main/project/screenshots/assistenza.PNG\" alt=\"Icona\" width=\"200\"/\u003e| \u003cimg src=\"https://github.com/vittorioPiotti/GestioneHotels/blob/main/project/screenshots/lista_acquisti.PNG\" alt=\"Icona\" width=\"200\"/\u003e|  \u003cimg src=\"https://github.com/vittorioPiotti/GestioneHotels/blob/main/project/screenshots/errore_lista_prenotazio%20ni_nessuna.PNG\" alt=\"Icona\" width=\"200\"/\u003e  | \u003cimg src=\"https://github.com/vittorioPiotti/GestioneHotels/blob/main/project/screenshots/lista_prenotazioni.PNG\" alt=\"Icona\" width=\"200\"/\u003e  | \n\u003cimg src=\"https://github.com/vittorioPiotti/GestioneHotels/blob/main/project/screenshots/lista_prenotazioni_disdici.PNG\" alt=\"Icona\" width=\"200\"/\u003e  | \u003cimg src=\"https://github.com/vittorioPiotti/GestioneHotels/blob/main/project/screenshots/lista_alberghi.PNG\" alt=\"Icona\" width=\"200\"/\u003e | \u003cimg src=\"https://github.com/vittorioPiotti/GestioneHotels/blob/main/project/screenshots/disdici.PNG\" alt=\"Icona\" width=\"200\"/\u003e| \u003cimg src=\"https://github.com/vittorioPiotti/GestioneHotels/blob/main/project/screenshots/errore_disdici.PNG\" alt=\"Icona\" width=\"200\"/\u003e| \u003cimg src=\"https://github.com/vittorioPiotti/GestioneHotels/blob/main/project/screenshots/prenota_stanza.PNG\" alt=\"Icona\" width=\"200\"/\u003e| \u003cimg src=\"https://github.com/vittorioPiotti/GestioneHotels/blob/main/project/screenshots/errore_lista_prenotazio%20ni_nessuna.PNG\" alt=\"Icona\" width=\"200\"/\u003e| \u003cimg src=\"https://github.com/vittorioPiotti/GestioneHotels/blob/main/project/screenshots/calendario.PNG\" alt=\"Icona\" width=\"200\"/\u003e| \u003cimg src=\"https://github.com/vittorioPiotti/GestioneHotels/blob/main/project/screenshots/metodo_pagamento.PNG\" alt=\"Icona\" width=\"200\"/\u003e|  \u003cimg src=\"https://github.com/vittorioPiotti/GestioneHotels/blob/main/project/screenshots/checkout.PNG\" alt=\"Icona\" width=\"200\"/\u003e  | \u003cimg src=\"https://github.com/vittorioPiotti/GestioneHotels/blob/main/project/screenshots/giusto_checkout.PNG\" alt=\"Icona\" width=\"200\"/\u003e  |  | |  \n\n\n---\n\n\n## Riepilogo Prodotto \n\n### Prodotto\n\nApplicazione Android e IOS per la prenotazione delle stanze di un hotel.\n\n### Scopo\n\n  Un cliente può prenotare la stanza di un albergo scegliendo tra le stanze degli alberghi forniti.\n\n\n\n\n### Casi d'Uso\n\nLe schermate sono state acquisite da dispositivo fisico IOS: Iphone 14 Plus\n\n\n| \u003cimg src=\"https://github.com/vittorioPiotti/GestioneHotels/blob/main/project/screenshots/lista_alberghi.PNG\" alt=\"Icona\" width=\"200\"/\u003e | \u003cimg src=\"https://github.com/vittorioPiotti/GestioneHotels/blob/main/project/screenshots/lista_stanze.PNG\" alt=\"Icona\" width=\"200\"/\u003e | \u003cimg src=\"https://github.com/vittorioPiotti/GestioneHotels/blob/main/project/screenshots/checkout.PNG\" alt=\"Icona\" width=\"200\"/\u003e| \u003cimg src=\"https://github.com/vittorioPiotti/GestioneHotels/blob/main/project/screenshots/calendario.PNG\" alt=\"Icona\" width=\"200\"/\u003e| \n| ------------ | ------------ | ------------ | ------------ | \n|1| 2 | 3 |  4 | \n\n1. L'utente sceglie l'hotel\n2. L'utente sceglie la stanza\n3. l'utente prenota\n4. l'utente sceglie la data\n\n\n\n\n## Riepilogo Tecnico\n\n### Obbiettivo\n\nApp Multi Platform in React-Native che gestisce le richieste con un server web\n\n### Indice\n\n1. [Tecnologie](#tecnologie)\n2. [Prototyping ](#prototyping)\n3. [Testing](#testing)\n4. [Distribuzione Locale](#distribuzione-locale)\n5. [API](#api)\n6. [Albero di Path](#albero-di-path)\n\n\n\n---\n\n\n### Tecnologie\n\nFramework e linguaggi\n  - React-native v.0.74.0\n  - Typescript\n    \nComunicazione con server web:\n  -  Uso protocollo HTTPS\n  -  Utilizzo di Fetch\n  -  Sistena di API e Endpoints\n\n### Prototyping \n\n\nLa 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\u0026t=Pr9SRdNo9SgsqGOc-0)).\n\n### Testing\n\n\n\u003e [!TIP]\n\u003e iPhone 14 Plus ([video](https://drive.google.com/file/d/1GU0UdAivfWaAG_9hqdG9vJs4TBVn2FR_/view?pli=1))\n\u003e L’app è pronta per essere distribuita.\n\n\n\n### Distribuzione Locale\n\n  1. Si crea il progetto React-Native dalla guida [React-Native](https://reactnative.dev/docs/environment-setup)\n  2. Si caricano i file sorgente sostituendo quelli già presenti\n  3. Si segue la guida per il caricamento dei font ([link](https://medium.com/@lewie9021/custom-fonts-in-react-native-85d814ca084))\n    \n### API\n\n| Nome API                | URL                                          | Parametri                           | Descrizione                                                                    |\n|-------------------------|----------------------------------------------|-------------------------------------|--------------------------------------------------------------------------------|\n| **getBookingsDataApp**  | `/api?type=book\u0026method=getBookingsDataApp`   | `clientId=${globalId}`              | Ottiene i dati delle prenotazioni per il cliente specificato.                  |\n| **newbooking**          | `/api?type=book\u0026method=newbooking`           | Nessuno                             | Crea una nuova prenotazione.                                                   |\n| **getHotelsDataApp**    | `/api?type=hotel\u0026method=getHotelsDataApp`    | Nessuno                             | Ottiene i dati di tutti gli hotel.                                             |\n| **getHotelDataApp**     | `/api?type=hotel\u0026method=getHotelDataApp`     | `idHotel=${idAlbergo}`              | Ottiene i dati di un hotel specifico.                                           |\n| **getHotelRoomsDataApp**| `/api?type=room\u0026method=getHotelRoomsDataApp` | `idHotel=${idAlbergo}`              | Ottiene i dati delle stanze di un hotel specifico.                               |\n| **getClientEmail**      | `/api?type=auth\u0026method=getClientEmail`       | `idClient=${globalId}`              | Ottiene l'email del cliente specificato.                                         |\n| **editClientEmail**     | `/api?type=auth\u0026method=editClientEmail`      | Nessuno                             | Modifica l'email del cliente.                                                  |\n| **editClientPassw**     | `/api?type=auth\u0026method=editClientPassw`      | Nessuno                             | Modifica la password del cliente.                                              |\n| **deleteClient**        | `/api?type=auth\u0026method=delete`               | `authState=client`                  | Elimina il cliente.                                                             |\n| **loginClient**         | `/api?type=auth\u0026method=login`                | `authState=client`                  | Esegue il login per il cliente.                                                 |\n| **dynamicClientMethod** | `/api?type=auth\u0026method=${apiMethod}`         | Nessuno                             | Esegue una richiesta dinamica del client basata sul metodo specificato.         |\n\n\n\n### Albero di Path\n\n```bash\n$ tree\n.\n└── src\n    ├── assets \n    │   ├── fonts\n    │   └── images\n    ├── scripts\n    │   ├── constants\n    │   │   ├── activities.tsx\n    │   │   ├── colors.tsx\n    │   │   ├── connection.tsx\n    │   │   ├── fonts.tsx\n    │   │   ├── images.tsx\n    │   │   └── screens.tsx\n    │   ├── features\n    │   │   ├── navigation\n    │   │   │   ├── Books.tsx\n    │   │   │   ├── Home.tsx\n    │   │   │   ├── Hotel.tsx\n    │   │   │   ├── Room.tsx\n    │   │   │   └── Rooms.tsx\n    │   │   ├── onboarding\n    │   │   │   └── Preview.tsx\n    │   │   └── profile\n    │   │       ├── Auth.tsx\n    │   │       ├── Profile.tsx\n    │   │       ├── Settings.tsx\n    │   │       └── SignIn.tsx\n    │   └── layouts\n    │       ├── Calendar.tsx\n    │       ├── Footer.tsx\n    │       ├── Header.tsx\n    │       └── Modal.tsx\n    └── App.tsx\n\n```\n\n\n\n### Implementazioni Future\n\n| Libreria| Routing tra le schermate| Richieste HTTPS| Token di accesso| Sicurezza dei dati|\n| ------------| ------------ | ------------ | ------------ | ------------ | \n| Versione Attuale | Nessuna| Fetch | Nessuna| Nessuna |\n| 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)|\n\n\n\n## Licenze\n\n\u003e [!WARNING]\n\u003e Questo software è rilasciato sotto la licenza **GPL v3** quindi l'uso, la modifica e la distribuzione del codice sorgente ne deve rispettare i termini.\n\u003e \n\u003e I contenuti multimediali possono essere soggetti a una **licenza non commerciale** richiedendo l'acquisto di una licenza separata.\n\n\u003e [!NOTE]\n\u003e Icone SVG di **Bootstrap**\n\n### HotelsBookingApp\n\n**Copyright** 2024 Vittorio Piotti [(GitHub page)](https://github.com/vittorioPiotti) [(Personal page)](https://vittoriopiotti.altervista.org/)\n\n**Version** [v1.0.0](https://github.com/vittorioPiotti/HotelsBooking-App-ReactNative/releases/tag/v1.0.0)\n\n**License** [GPL-3.0](https://github.com/vittorioPiotti/HotelsBooking-App-ReactNative/blob/main/LICENSE.md)\n\n---\n\n### Calendar\n\n**Copyright** 2024 Vittorio Piotti [(GitHub page)](https://github.com/vittorioPiotti) [(Personal page)](https://vittoriopiotti.altervista.org/)\n\n**Version** [v1.0.0](https://github.com/vittorioPiotti/Calendar-Widget-ReactNative/releases/tag/1.0.0)\n\n**License** [GPL-3.0](https://github.com/vittorioPiotti/Calendario-React-Native/blob/main/LICENSE.md)\n\n---\n\n\n### Bootstrap Icons\n\n**Copyright** 2011-2018 The Bootstrap Authors \n\n**Version** [v1.11.0](https://blog.getbootstrap.com/2023/09/12/bootstrap-icons-1-11-0/)\n\n**License** [MIT](https://github.com/twbs/icons/blob/main/LICENSE)\n\n\n---\n\n### React Native\n\n**Copyright** Facebook, Inc.\n\n**Version** [v0.74.0](https://reactnative.dev/blog/2024/04/22/release-0.74)\n\n**License** [MIT](https://github.com/facebook/react-native/blob/main/LICENSE)\n\n---\n\n### NunitoSans\n\n**Copyright** 2016 The Nunito Sans Project Authors \n\n**License** [OFL](https://github.com/googlefonts/NunitoSans/blob/main/OFL.txt)\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvittoriopiotti%2Fhotelsbooking-app-reactnative","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvittoriopiotti%2Fhotelsbooking-app-reactnative","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvittoriopiotti%2Fhotelsbooking-app-reactnative/lists"}