diff --git a/README.md b/README.md
index 34e2aa1..67f5d73 100644
--- a/README.md
+++ b/README.md
@@ -1,42 +1,63 @@
-# WalkAware Trento
+
+
WalkAware Trento
+
+
Progetto per il corso di Ingegneria del software, prof. Sandro Fiore - Università degli studi di Trento.
## Descrizione
-Walkaware Trento si propone di aiutare il comune di Trento a migliorare alcuni aspetti della città.
+Il progetto si suddivide in due applicazioni rivolte a due categorie di utenti diverse.
-Il progetto si suddivide in due applicazioni rivolte a due categorie di utenti diverse:
+La prima è un'app mobile rivolta ai cittadini. L’interfaccia si presenta come una mappa e una barra di ricerca tramite la quale l’utente può cercare luoghi e ottenere indicazioni stradali come pedone. I passi dell'utente vengono registrati sotto forma di punti, che potranno poi essere utilizzati per ottenere buoni sconto per esercizi e attrazioni locali. Inoltre l’utente può inviare segnalazioni se incontra dei problemi nelle infrastrutture dislocate sul territorio.
-1. Un'app mobile dedicata ai cittadini, dove l’utente viene incentivato a camminare e segnalare problemi sul territorio. I punti accumulati con le azioni precedenti possono essere utilizzati in eventi culturali e negozi locali.
+La seconda parte è una web app che aggrega i dati prodotti dai cittadini, permette l'amministrazione delle informazioni sulle aziende convenzionate e i premi messi a disposizione, suggerisce luoghi d’interesse che appariranno sulla mappa e consente la gestione delle segnalazioni.
-2. Un'app web dedicata al supporto tecnico e a dipendenti del comune. Questa raccoglie i dati relativi agli utenti mobile e delle aziende convenzionate.
+## Come usare
-## Requisiti
-- Node.js
-- Database MongoDB
-- Account Cloudflare R2
+### In cloud
-## Come usare
-Il servizio web é disponibile in cloud ai seguenti link:
+Il servizio è fruibile in cloud ai seguenti indirizzi
- [WalkAware Trento Backend](https://walkaware.onrender.com/)
+
- [WalkAware Trento Frontend](https://walkaware-frontend.onrender.com)
+
- L'applicazione mobile è scaricabile nell'[ultima release](/~https://github.com/aleiepure/WalkAware/releases/latest)
-Altrmenti seguire i passi successivi per eseguire l'app in locale.
+### In locale
+
+#### Dipendenze
+
+- Node.js
+- Database MongoDB
+- Account Cloudflare R2
+
+#### Istruzioni
+
+Seguire i seguenti passaggi
+
1. Clona repository:
-``` bash
-git clone /~https://github.com/aleiepure/WalkAware.git
-cd WalkAware
+
+``` shell
+git clone /~https://github.com/aleiepure/WalkAware.git && cd WalkAware
```
-Per i prossimi passi da seguire fare riferimento ai relativi README.md di [backend](./backend/README.md), [frontend](./frontend/webapp/README.md) e [Mobile App](./frontend/mobile/README.md).
-
+
+2. Segui le istruzioni nei file README nelle sottocartelle [backend/](./backend/README.md), [frontend/webapp/](./frontend/webapp/README.md) e [frontend/mobile/](./frontend/mobile/README.md).
+
## Organizzazione Repository
+
```shell
├── backend
├── frontend
│ ├── mobile
│ └── webapp
-└── readme.md
-```
\ No newline at end of file
+└── README.md
+```
diff --git a/backend/README.md b/backend/README.md
index 270e467..cc51f62 100644
--- a/backend/README.md
+++ b/backend/README.md
@@ -1,24 +1,28 @@
-# WalkAware Trento Backend
+# WalkAware Trento - Backend
Il backend è sviluppato utilizzando Express.js e offre una serie di API RESTful per gestire diverse funzionalità dell'applicazione.
Il servizio è eseguibile in cloud a questo indirizzo: [WalkAware Trento Backend](https://walkaware.onrender.com/), per eseguire l'app in locale seguire le seguenti indicazioni.
-
## Come usare
-1. Clonare il repository se non è già stato fatto:
-``` bash
-git clone /~https://github.com/aleiepure/WalkAware.git
-cd WalkAware/backend
+
+1. Dopo ever [clonato la repo](../../README.md#istruzioni) entrare nella cartella del backend
+
+``` shell
+cd backend
```
-2. Installa le dipendenze:
-``` bash
+
+2. Installa le dipendenze
+
+``` shell
npm install
```
### Configurazione
-Crea un file .env nella radice della cartella e aggiungi le seguenti variabili d'ambiente:
-```bash
+
+Crea un file `.env` nella radice della cartella e aggiungi le seguenti variabili d'ambiente
+
+```shell
SUPER_SECRET="password generazione jwt token"
MONGODB_URI="uri database mongodb production"
MONGODB_URI_TEST="uri database mongodb test"
@@ -26,26 +30,34 @@ R2_ACCOUNT_ID="R2 account id"
R2_ACCESS_KEY_ID="R2 chiave di accesso"
R2_SECRET_ACCESS_KEY="R2 chiave segreta di accesso"
```
-Assicurarsi di sostituire con i valori corretti.
+
+Assicurarsi di sostituire con i valori corretti.
### Esecuzione
+
Per avviare il server in modalità di production:
-```bash
+
+```shell
node ./index.js
```
+
Per avviare il server in modalità di sviluppo:
-```bash
+
+```shell
npm run run-dev
```
## Test
-I test sono stati sviluppati utilizzando un database apposito e per evitare problemi i file devono essere esguiti sequanzialmente, richiamando lo script presente in package.json con:
-```bash
-npm run seqtest
+Tutte le API REST sono state accuratamente testate tramite unit test. Per eseguire tutti i test usare il comando
+
+```shell
+npm test
```
## API
+
La documentazione delle API è accessibile ai seguenti link:
-- https://walkaware.docs.apiary.io
-- https://walkaware.onrender.com/api-docs
+-
+
+-
diff --git a/frontend/mobile/README.md b/frontend/mobile/README.md
index 5185aeb..7b881b4 100644
--- a/frontend/mobile/README.md
+++ b/frontend/mobile/README.md
@@ -1,29 +1,36 @@
-# WalkAware Trento Frontend App Mobile
+# WalkAware Trento - Frontend App Mobile
L'applicazione mobile è sviluppata in Flutter ed è dedicata agli abitanti della città di Trento.
L'app già compilata è scaricabile nell'[ultima release](/~https://github.com/aleiepure/WalkAware/releases/latest). Per eseguirla con un altro backend seguire le seguenti indicazioni.
## Requisiti
+
- [Flutter](https://docs.flutter.dev/get-started/install)
## Come usare
-1. Clonare il repository se non è già stato fatto:
-``` bash
-git clone /~https://github.com/aleiepure/WalkAware.git
-cd WalkAware/frontend/mobile
+
+1. Dopo ever [clonato la repo](../../README.md#istruzioni) entrare nella cartella del progetto flutter
+
+``` shell
+cd frontend/mobile
```
-2. Per configurare mapbox seguire la sezione "secret token" a questo [link](https://pub.dev/packages/mapbox_maps_flutter#installation)
+
+2. Configurare Mapbox seguendo la sezione "secret token" a questo [link](https://pub.dev/packages/mapbox_maps_flutter#installation)
+
3. Installa le dipendenze
-```bash
+
+```shell
flutter pub get
```
-4. Compila l'applicazione:
-``` bash
-flutter build apk --dart-define PUBLIC_ACCESS_TOKEN= \
+
+4. Esegui l'applicazione su un dispositivo Android con debug abilitato
+
+``` shell
+flutter run --dart-define PUBLIC_ACCESS_TOKEN= \
--dart-define BACKEND_BASE_URL= \
+ --dart-define FRONTEND_BASE_URL= \
--dart-define JWT_SECRET=
```
-Assicurarsi di sostituire con i valori corretti.
-
+Assicurarsi di sostituire i valori corretti.
diff --git a/frontend/mobile/lib/pages/coupon_details_page.dart b/frontend/mobile/lib/pages/coupon_details_page.dart
index b4928ac..7fd5c0c 100644
--- a/frontend/mobile/lib/pages/coupon_details_page.dart
+++ b/frontend/mobile/lib/pages/coupon_details_page.dart
@@ -92,7 +92,7 @@ class CouponDetailsPage extends StatelessWidget {
Padding(
padding: const EdgeInsets.all(16.0),
child: QrImageView(
- data: '$_frontendBaseUrl/valida?premioId=${coupon.id}',
+ data: '$_frontendBaseUrl/valida_buono?buono=${coupon.id}',
version: QrVersions.auto,
size: 192,
),
diff --git a/frontend/mobile/lib/pages/onboarding.dart b/frontend/mobile/lib/pages/onboarding.dart
index 9503047..6ddf5d8 100644
--- a/frontend/mobile/lib/pages/onboarding.dart
+++ b/frontend/mobile/lib/pages/onboarding.dart
@@ -143,7 +143,7 @@ class _OnboardingPageState extends State {
pages: [
PageViewModel(
title: "Ciao!",
- body: "Benvenuto in WalkAware Trento, l'app che ti premia quando sei in giro per la città di Trento.",
+ body: "Benvenuto/a in WalkAware Trento, l'app che ti premia quando sei in giro per la città di Trento.",
decoration: pageDecoration,
image: const Icon(Icons.waving_hand, size: 200),
),
@@ -164,7 +164,7 @@ class _OnboardingPageState extends State {
PageViewModel(
title: "Tieni gli occhi aperti",
body:
- "Se noti qualcosa malfunzionante o pericoloso lungo il tuo percorso, segnalalo. Aiuterai il Comune di Trento a sistemarlo più in fretta e guadagnerai 1 punto extra!",
+ "Se noti qualcosa malfunzionante o pericoloso lungo il tuo percorso, segnalalo. Aiuterai il Comune di Trento a sistemarlo più in fretta.",
decoration: pageDecoration,
image: const Icon(Icons.report, size: 200),
),
diff --git a/frontend/mobile/lib/pages/register_page.dart b/frontend/mobile/lib/pages/register_page.dart
index 3a84f63..e569ea7 100644
--- a/frontend/mobile/lib/pages/register_page.dart
+++ b/frontend/mobile/lib/pages/register_page.dart
@@ -48,7 +48,7 @@ class _RegisterPageState extends State {
icon: Icon(Icons.alternate_email, size: 48, color: Theme.of(context).colorScheme.secondary),
title: const Text('Conferma la tua email'),
content:
- const Text('Dobbiamo essere sicuri che sei proprio tu. Segui le istruzioni nella mail che hai ricevuto per confermare il tuo account.'),
+ const Text('Dobbiamo essere sicuri che sei proprio tu. Segui le istruzioni nella mail che hai ricevuto per confermare il tuo account. (Email non implementata.)'),
actions: [
TextButton(
onPressed: _onShowEmailConfirmationDialogButtonPressed,
@@ -64,16 +64,16 @@ class _RegisterPageState extends State {
/// The method will close the bottom sheet, open the email app and navigate to the login page.
void _onShowEmailConfirmationDialogButtonPressed() {
// Open the email app
- if (Platform.isAndroid) {
- AndroidIntent intent = const AndroidIntent(
- action: 'android.intent.action.MAIN',
- category: 'android.intent.category.APP_EMAIL',
- flags: [Flag.FLAG_ACTIVITY_NEW_TASK],
- );
- intent.launch();
- } else if (Platform.isIOS) {
- launchUrl(Uri.parse('message://'));
- }
+ // if (Platform.isAndroid) {
+ // AndroidIntent intent = const AndroidIntent(
+ // action: 'android.intent.action.MAIN',
+ // category: 'android.intent.category.APP_EMAIL',
+ // flags: [Flag.FLAG_ACTIVITY_NEW_TASK],
+ // );
+ // intent.launch();
+ // } else if (Platform.isIOS) {
+ // launchUrl(Uri.parse('message://'));
+ // }
// Close the dialog
Navigator.of(context).pop();
@@ -143,7 +143,7 @@ class _RegisterPageState extends State {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
content: const Text('Errore durante la registrazione'),
- backgroundColor: Theme.of(context).colorScheme.primary,
+ backgroundColor: Theme.of(context).colorScheme.error,
),
);
}
diff --git a/frontend/webapp/README.md b/frontend/webapp/README.md
index 764888a..48493d6 100644
--- a/frontend/webapp/README.md
+++ b/frontend/webapp/README.md
@@ -1,37 +1,44 @@
-# WalkAware Trento Frontend WebApp
-Il frontend offre una Web App sviluppata con Express.js ed ejs. Questa è dedicata al supporto tecnico e ai dipendenti del comune di Trento.
+# WalkAware Trento - Frontend WebApp
-Il servizio è eseguibile in cloud a questo indirizzo: [WalkAware Trento Frontend](https://walkaware-frontend.onrender.com/), per eseguire l'app in locale seguire le seguenti indicazioni.
+Il frontend offre una Web App sviluppata con Express.js ed ejs. Questa è dedicata al supporto tecnico e ai dipendenti del comune di Trento.
+Il servizio è eseguibile in cloud a questo indirizzo: [WalkAware Trento Frontend](https://walkaware-frontend.onrender.com/), per eseguire l'app in locale seguire le seguenti indicazioni.
## Come usare
-1. Clonare il repository se non è già stato fatto:
-``` bash
-git clone /~https://github.com/aleiepure/WalkAware.git
-cd WalkAware/frontend/webapp
+
+1. Dopo ever [clonato la repo](../../README.md#istruzioni) entrare nella cartella della webapp
+
+``` shell
+cd frontend/webapp
```
+
2. Installa le dipendenze:
-``` bash
+
+``` shell
npm install
```
### Configurazione
-Crea un file .env nella radice della cartella e aggiungi le seguenti variabili d'ambiente:
-```bash
+
+Crea un file `.env` nella radice della cartella e aggiungi le seguenti variabili d'ambiente:
+
+```shell
SUPER_SECRET="password generazione jwt token"
BACKEND_BASE_URL="URL backend"
```
-Assicurarsi di sostituire con i valori corretti.
+
+Assicurarsi di sostituire con i valori corretti.
### Esecuzione
+
Per avviare il server in modalità di production:
-```bash
+
+```shell
node ./index.js
```
+
Per avviare il server in modalità di sviluppo:
-```bash
+
+```shell
npm run run-dev
```
-
-
-
diff --git a/icon.png b/icon.png
new file mode 100644
index 0000000..20d6c69
Binary files /dev/null and b/icon.png differ