Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Version finale #4

Open
wants to merge 24 commits into
base: dev
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
4ab5980
Logo/text contents updated & transform compatibility fixed, allowing …
nkristen Jun 3, 2024
6681015
Header style fixed, metro config updated & changelog annotated
nkristen Jun 4, 2024
0281d38
Code optimisation, comment fixes and minor graphic changes
nkristen Jun 6, 2024
c40c16c
Securing the credentials with expo secrets and reducing the firebase …
nkristen Jun 12, 2024
6e2c015
Optimized step numbering in header during circuits added
nkristen Jun 14, 2024
7d0d099
Adding mandatory local download of circuits
nkristen Jun 16, 2024
dc7a8d2
Carte
coli06 Jun 14, 2024
fd3d5ca
Version update
nkristen Jun 16, 2024
ef8eea1
Update code version as well
nkristen Jun 16, 2024
e921aac
Update map loading screen for consistency
nkristen Jun 17, 2024
656e58d
Local download of circuits, scores, game history, improved design and…
nkristen Jun 21, 2024
3c33c38
lecture son jeu
coli06 Jun 18, 2024
94ab17f
Syntax error fix
nkristen Jun 21, 2024
de8ce51
Score updates
nkristen Jun 21, 2024
e29672d
Changement pour accomoder avec API (audio_url)
coli06 Jun 21, 2024
07d688f
Map fix
coli06 Jun 21, 2024
39ffbbb
Circuit selection from map, improved conditional map rendering
nkristen Jun 22, 2024
3efa5f4
Local audio playback support added, city search bug fixed
nkristen Jun 25, 2024
527815e
Update changelog and version tag
nkristen Jun 26, 2024
b1047a6
Update CHANGELOG.md
nkristen Jun 26, 2024
0adf5b6
Update CHANGELOG.md
nkristen Jun 26, 2024
18f4e19
Base repo commit history recovery for pull request
nkristen Jun 26, 2024
56c013a
Unnecessary files removed
nkristen Jun 26, 2024
52fc6c0
Update code version number
nkristen Jun 27, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ npm-debug.*
*.mobileprovision
*.orig.*
web-build/
.env
package-lock.json

# macOS
.DS_Store
Expand Down
4 changes: 2 additions & 2 deletions App.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { AppRegistry } from 'react-native';
import App from './app/index';

AppRegistry.registerComponent('Scrute la Nature', () => App);
AppRegistry.registerComponent('Scrute la nature', () => App);

export default App;
export default App;
62 changes: 61 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,65 @@ All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/), and this project adheres to [Semantic Versioning](https://semver.org/).

<!-- ## Unreleased [{version_tag}](https://github.com/opengisch/qgis-plugin-ci/releases/tag/{version_tag}) - YYYY-MM-DD -->
## [2.0.0] - 2024-06-25

### Added

- Lecture d'au plus un fichier audio par étape (hors résultats de jeu)

- Sélectionner un parcours sur la carte fait apparaître un bouton redirigeant vers un résumé de ce dernier, à partir de laquelle il est possible de le télécharger.

- Téléchargement des données de parcours localement avec le package SQLite d'Expo, qui n'a pas de limite de stockage inhérente (stockage libre du téléphone) et est très flexible grâce à la possibilité d'effectuer differentes requêtes, évitant de stocker plusieurs fois des données similaires à des endroits différents.

### Changed

- La carte dispose maintenant de son écran de chargement, avec message d'erreur si Internet est indisponible. Cette dernière s'affiche tout de même si la position est activée et ajuste l'échelle afin de voir l'ensemble des parcours existants sur l'écran. Si la position est disponible, le comportement est le même à la différence près que la position de l'utilisateur est aussi visible sur l'écran.

- Les scores de chaque parcours sont visibles dans leur résumé, que ces derniers soient téléchargés ou non.

### Removed

- Sauvegarde locale des parcours avec AsyncStorage abandonnée car trop peu de volume disponible par rapport au volume de données que représentent les parcours.

### Fixed

- Résolution du bug d'affichage des communes connues en local pour la recherche de communes hors-ligne.

## [1.5.1] - 2024-06-17

### Fixed

- Ajustement des tags de version (devant être uniques) pour permettre la mise en ligne sur le Play Store

## [1.5.0] - 2024-06-15
(Erreur dans le choix du numéro de version, le changement de SDK aurait justifié le pasage à la version 2.0.0)

### Added

- Affichage de la position de l'utilisateur et des parcours sur la carte.

### Changed

- Mise à niveau du Software Development Kit (SDK) d'Expo depuis la version 48 à la version 50 ainsi que d'autres packages qui en avaient besoin afin de pouvoir exécuter le projet.

- Chargement du contenu d'un parcours une seule fois au début du parcours, et plus à chaque étape du parcours. Ce dernier point étant la cause des plantages en cours de parcours.

- Téléchargement local obligatoire afin de clarifier le fonctionnement de la gestion des parcours.

- Changement, suppression et déplacement de logos.

- Changement du nom de l'application de "Scrute la Nature" à "Scrute la nature" à tout les endroits où on le retrouvait (textes de l'application, code et Play Store).

- Améliorations graphiques mineures, notamment pour l'affichage des caractéristiques d'un parcours (durée, difficulté et commune).

### Removed

- Possibilité de démarrer un parcours avec une connexion Internet sans le télécharger en local.

### Fixed

- Problème de numérotation des étapes dans le bandeau supérieur (incorrecte ou inexistante selon les cas) résolu après la résolution du bug majeur, ayant permis la conservation des mêmes données au long du parcours.

### Security

- Déplacement des liens et identifiants d'accès à la base de données Firebase dans un fichier .env pour l'exécution locale et dans les Secrets du projet Expo pour le build afin de ne les retrouver ni dans le Git ni dans le code de l'application téléchargé depuis le Play Store.
6 changes: 5 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,4 +28,8 @@ Project developped for [LPO Auvergne-Rhône-Alpes](https//auvergne-rhone-alpes.l
- Mathis Thuel-Chassaigne
- Tibo Preher
- Valentin Pontiggia
- Matthieu d'Hoop
- Matthieu d'Hoop
- Romuald Dubois
- Cole Stannard
- Mickael Osorio
- Niels Kristen
6 changes: 3 additions & 3 deletions README_PRI_2023.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,12 +70,12 @@ $ eas build --platform android
```

L'utilisateur obtient alors un lien pour télécharger le .aab qu'il faudra mettre en ligne sur le compte
Google PlayStore. Il est important que chaque version mise en ligne ai un numéro de build
Google PlayStore. Il est important que chaque version mise en ligne ait un numéro de build
différent:
- Connexion a la google playstore console avec le compte devlpo : https://play.google.com/console/u/1/developers/7483810268087091411/app-list
- Connexion à la console google playstore avec le compte devlpo : https://play.google.com/console/u/1/developers/7483810268087091411/app-list
- Choisir l'application Scrute la Nature
- Production -> Realease -> Modifier la version
- Uploader le fichier .aab telecharger aver le lien a la fin du build expo.
- Pousser la realease en prod, google va l'examinner(2 jours).
- Pousser la realease en prod, google va l'examiner (2 jours).
- Pousser la realease sur le playstore en confirmant.

4 changes: 2 additions & 2 deletions __tests__/queries.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ test("Get all parcours from commune", async () => {
})

test("Get parcours content from id", async () => {
const id = "V4gp7A6yWUAxcaPWnqc6" //Saint-Etienne
const id = "V4gp7A6yWUAxcaPWnqc6" // Saint-Étienne
const res = await getParcoursContents(id);
console.log(res);
})
})
20 changes: 20 additions & 0 deletions app.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
//import { API_KEY, AUTH_DOMAIN, PROJECT_ID, STORAGE_BUCKET, MESSAGING_SENDER_ID, APP_ID, DEFAULT_USER_EMAIL, OBFUSCATED_DEFAULT_USER_PASSWORD} from '@env';

export default ({ config }) => {
return {
...config,
extra: {
firebaseApiKey: process.env.API_KEY,
firebaseAuthDomain: process.env.AUTH_DOMAIN,
firebaseProjectId: process.env.PROJECT_ID,
firebaseStorageBucket: process.env.STORAGE_BUCKET,
firebaseMessagingSenderId: process.env.MESSAGING_SENDER_ID,
firebaseAppId: process.env.APP_ID,
firebaseDefaultUserEmail: process.env.DEFAULT_USER_EMAIL,
firebaseObfuscatedDefaultUserPassword: process.env.OBFUSCATED_DEFAULT_USER_PASSWORD,
eas: {
projectId: "8caa5721-b096-47e9-b4b1-abdc4b019ed5"
}
},
};
};
75 changes: 38 additions & 37 deletions app.json
Original file line number Diff line number Diff line change
@@ -1,38 +1,39 @@
{
"expo": {
"name": "Scrute la Nature",
"slug": "LPOMobApp",
"version": "1.4.3",
"orientation": "portrait",
"icon": "./assets/icon.png",
"userInterfaceStyle": "light",
"splash": {
"image": "./assets/splash.png",
"resizeMode": "contain",
"backgroundColor": "#ffffff"
},
"assetBundlePatterns": [
"**/*"
],
"ios": {
"supportsTablet": true
},
"android": {
"adaptiveIcon": {
"foregroundImage": "./assets/adaptive-icon.png",
"backgroundColor": "#ffffff"
},
"package": "com.lpo.GameOfNature",
"versionCode": 12
},
"web": {
"favicon": "./assets/favicon.png"
},
"owner": "lpo",
"extra": {
"eas": {
"projectId": "8caa5721-b096-47e9-b4b1-abdc4b019ed5"
}
}
}
}
"expo": {
"name": "Scrute la nature",
"slug": "LPOMobApp",
"version": "2.0.0",
"orientation": "portrait",
"icon": "./assets/icon.png",
"userInterfaceStyle": "light",
"splash": {
"image": "./assets/splash.png",
"resizeMode": "contain",
"backgroundColor": "#ffffff"
},
"assetBundlePatterns": [
"**/*"
],
"ios": {
"supportsTablet": true,
"bundleIdentifier": "com.lpo.GameOfNature"
},
"android": {
"adaptiveIcon": {
"foregroundImage": "./assets/adaptive-icon.png",
"backgroundColor": "#ffffff"
},
"package": "com.lpo.GameOfNature",
"versionCode": 16
},
"web": {
"favicon": "./assets/favicon.png"
},
"owner": "lpo",
"extra": {
"eas": {
"projectId": "8caa5721-b096-47e9-b4b1-abdc4b019ed5"
}
}
}
}
8 changes: 4 additions & 4 deletions app/architecture_page_jeu.txt
Original file line number Diff line number Diff line change
Expand Up @@ -53,12 +53,12 @@ Le fichier component contiendra:
handleBackButtonClick() {
return true;
}
Cette partie a servi à récupérer les propiriétés passées en paramètres et à désactiver le bouton retour du téléphone
Cette partie a servi à récupérer les propriétés passées en paramètre et à désactiver le bouton retour du téléphone

...;
render() {
... (initialisation des const);
var TopBarreName = "Étape " + this.props.currentGame.ordre + "/" + (this.props.currentGame.sizeleft + this.props.currentGame.ordre);
var topBarreName = "Étape " + this.props.currentGame.ordre + "/" + (this.props.currentGame.sizeleft + this.props.currentGame.ordre);
return (
<SafeAreaView style={styles.outsideSafeArea}>
<View style={styles.globalContainer}>
Expand All @@ -74,8 +74,8 @@ Parfois un seul des deux champs précédent est présent, parfois il y a aussi l
Il y a ensuite le champ même du jeu, parfois l'image n'est pas comme ici, par exemple pour trouver l'intrus.
</View>
---------------------------------------------------
Il y a la bouton pour avancer. Si le jeu nécessite une page réponse, il faut rediriger vers GameOutcomePage, avec les paramètres parcours; currentGame et win
sinon on redirige vers GamePage avec parcours en paramètre. Ceci est présent dans la majorité des cas, mais par exemple le QCM ou trouver l'intrus permettent
Il y a le bouton pour avancer. Si le jeu nécessite une page réponse, il faut rediriger vers GameOutcomePage, avec les paramètres parcours; currentGame et win
sinon on redirige vers GamePage avec parcours en paramètre. Ceci est présent dans la majorité des cas, mais par exemple QCM ou trouver l'intrus permettent
d'avancer sans bouton valider mais dès qu'on choisit une réponse. Dans ce cas, cette partie n'est pas présente
<View style={styles.rightAlign}>
<NextPage pageName={"NomPageSuivante"}
Expand Down
30 changes: 30 additions & 0 deletions app/components/InfoLogoText/InfoLogoText.component.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
import React, { Component } from 'react';
import { View, Text } from 'react-native';
import styles from './InfoLogoText.component.style.js';
import theme from '../../styles/theme.style.js';
import MaterialIcon from 'react-native-vector-icons/MaterialIcons';
import IonIcon from 'react-native-vector-icons/Ionicons';
//import Ionicon from '@expo/vector-icons/Ionicons';
import MCIcon from 'react-native-vector-icons/MaterialCommunityIcons';

/**
* Ce composant permet d'afficher une information accompagnée d'une icône
*/
class InfoLogoText extends Component {
constructor(props) {
super(props);
}
render() {
const { text, iconName, iconCollection } = this.props
return (
<View style={styles.container}>
{iconCollection == "Ionicons" && (<IonIcon name={iconName} color={theme.PRIMARY_COLOR} size={20}/>)}
{iconCollection == "MaterialCommunityIcons" && (<MCIcon name={iconName} color={theme.PRIMARY_COLOR} size={20}/>)}
{iconCollection == "MaterialIcons" && (<MaterialIcon name={iconName} color={theme.PRIMARY_COLOR} size={20}/>)}
<Text style={iconCollection == "Ionicons" ? styles.extraSpaceText : styles.text}>{text}</Text>
</View>
);
}
}

export default InfoLogoText;
28 changes: 28 additions & 0 deletions app/components/InfoLogoText/InfoLogoText.component.style.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import { StyleSheet } from 'react-native';
import theme from '../../styles/theme.style.js'

export default StyleSheet.create({
container: {
backgroundColor: theme.SECONDARY_COLOR,
flexDirection: 'row',
borderRadius: 30,
paddingVertical: 7.5,
paddingRight: 15,
paddingLeft: 10,
marginHorizontal: 8,
},

text: {
fontWeight: theme.FONT_WEIGHT_BOLD,
color: theme.PRIMARY_COLOR,
textAlign: 'center',
marginLeft: 7.5,
},

extraSpaceText: {
fontWeight: theme.FONT_WEIGHT_BOLD,
color: theme.PRIMARY_COLOR,
textAlign: 'center',
marginLeft: 10,
}
});
6 changes: 3 additions & 3 deletions app/components/MainTitle/MainTitle.component.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ class MainTitle extends Component {
constructor(props) {
super(props);
}

render() {
const { title } = this.props
const { icone } = this.props
const { title, icone } = this.props
return (
<View style={{ flexDirection: 'row' }}>
<Text style={styles.title}>{title}</Text>
Expand All @@ -18,4 +18,4 @@ class MainTitle extends Component {
}
}

export default MainTitle;
export default MainTitle;
Loading