Para desarrollar y ejecutar el Environment Manager (EM) se ha utilizado IntelliJ IDEA.
Ejecutar desde la herramienta y acceder a: http://localhost:8080/
API con Swagger y Open API 3.0 disponible una vez lanzado el servidor en: http://localhost:8080/swagger-ui.html
Para lanzar la base de datos (local) se ha utilizado Docker. Ejecutamos lo siguiente:
cd database
docker-compose up
Una vez la base de datos esté lanzada, para visualizar el contenido de la BD accedemos a http://localhost:8082 e introducimos lo siguiente:
- Motor de base de datos: PosgreSQL
- Servidor: db
- Usuario: adminCARS
- Contraseña: CARSdb123
- Base de datos: CARSdb
Ejecutar:
psql postgresql://adminCARS@localhost:5432/CARSdb
NOTA: instalar lo que pida (psql)
Los datos relacionados con las actividades han sido obtenidos del portal de datos abiertos de Madrid. Los datos de valoraciones son datos falsos que hemos generado. Pueden accederse a ellos en el directorio /data del repositorio.
Con Heroku, conectarse desde Heroku y ver ahí las credenciales de la BD.
Para instalar la aplicación en un dispositvo Android real o simulado es necesario instalar Android Studio y Node.
En primer lugar es necesario instalar React Native CLI
npm install -g react-native-cli
Añade la siguientes líneas a tu fichero $HOME/.bash_profile:
export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools
Descarga este proyecto y viaja a la dirección de la descarga:
cd CARSProject
react-native run-android
Para completar la instalación de la aplicación es necesario realizar la instalación también desde Android Studio. Desde Android Studio seleccione la opción de abrir proyecto existente de la dirección CARSProject/android.
Para configurar la dirección de los Gestores de Entorno del sistema será necesario modificar el fichero CARSProject/em/ems.json adaptando la información conforme a los gestores deseados.
- Android Studio: 4.1.2
- Node: 10.24.0
- React-Native: 0.55.4
- React-Native CLI: 2.0.1
- Java: 1.8
Las dependencias de las librerías pueden consultarse en el fichero package.json
- Clonar el repositorio.
- Instalar React Native CLI como se ha indicado antes
- Comprobar que la versión de node es la 10
node -v
- Para instalar las dependencias ejecutar (dentro del proyecto de React-Native):
cd CARSProject
npm install
npx jetify
- En una terminal ejecutar lo siguiente dentro del proyecto de React Native:
react-native start
- Instalar la aplicación en el dispositivo desde Android Studio (versión utilizada: 4.1.2). Abrir CARS-Prototypes/android con Android Studio.
- Una vez la aplicación ha sido instalada en el dispositivo, para lanzarla ejecutar:
react-native run-android
NOTA: tanto si se prueba en un dispositivo físico (no un emulador) como si se prueba con emulador:
- Asegurarse de que el dispositivo y el PC están conectados a la misma red WiFi (no es necesario si se prueba con el emulador).
- Ejecutar: adb reverse tcp:8081 tcp:8081 (react-native).
- Ejecutar: adb reverse tcp:8080 tcp:8080 (para comunicación con el EM).
./EM.sh
studio.sh
./MobileApp.sh
Terminal 1:
cd R-Rules/EM
cd database
sudo docker-compose up
You can test the connection with the DB as follows:
psql postgresql://adminCARS@localhost:5432/CARSdb
(password: CARSdb123)
You can see all the tables with:
\dt
If you get this error when connecting to the DB:
Error: You must install at least one postgresql-client-<version> package
Then do this first:
sudo apt-get install postgresql-client
If you have not created the database, first you have to create the tables: https://github.com/irefu/CARS-em/blob/main/database/createTables.sql Then in table "user", you need to create a user with email "[email protected]" and password "1234test5678". Careful: the password must be stored encrypted, in the Modular Crypt Format. If you want to visualize the DB:
datagrip.sh
Terminal 2:
idea.sh
Ejecutar el proyecto (com.example.CARSEm.CarsEmApplication, in folder src/main/java/CarsEmApplication.java) Desde un navegador web, conectarse a http://localhost:8080/swagger-ui.html para ver si está activo y accesible el API de Swagger.
Terminal 3:
cd R-Rules/MobileApp
react-native start
Terminal 4:
studio.sh
Start emulator ("Tools" -> "AVD Manager") Click on "Logcat" in the status bar if you want to see the emulated device's console messages.
Terminal 5:
adb reverse tcp:8081 tcp:8081
adb reverse tcp:8080 tcp:8080
cd R-Rules/MobileApp
react-native run-android
- El login está deshabilitado (el login anterior funcionaba con Facebook, ya no está disponible para las características de este proyecto). Actualmente se crea un usuario con email "[email protected]" y contraseña: "1234test5678" (desde el código).
- En el directorio MobileApp, se debe incluir un fichero oauth.json con las claves de acceso a APIs (androidGoogle, facebookAppID, facebookClientID, accuweatherAPI, openweathermap, androidMaps).
"Next-gEnerATion dAta Management to foster suitable Behaviors and the resilience of cItizens against modErN ChallEnges (NEAT-AMBIENCE)", financiado por la Agencia Estatal de Investigación (PID2020-113037RB-I00 / AEI / 10.13039/501100011033). Investigador principal: Sergio Ilarri.
- Este trabajo se ha desarrollado como parte del proyecto de I+D+i PID2020-113037RB-I00, financiado por MCIN/AEI/ 10.13039/501100011033; investigador principal: Sergio Ilarri.
- Además del proyecto previo (proyecto NEAT-AMBIENCE), se agradece también el apoyo del Departamento de Ciencia, Universidad y Sociedad del Conocimiento del Gobierno de Aragón (Gobierno de Aragón: grupo COSMOS; última referencia del grupo: T64_20R).
- Software de la Universidad de Zaragoza con número interno de registro PII-2021-0029 y título "Sistema de recomendación proactivo basado en reglas para dispositivos móviles". Inventores: Sergio Ilarri (UZ, miembro del equipo investigador del proyecto NEAT-AMBIENCE), Raquel Trillo-Lado (UZ, miembro del equipo investigador del proyecto NEAT-AMBIENCE), Irene Fumanal (UZ, estudiante), Manuel Herrero (UZ, estudiante).



