Skip to content
This repository has been archived by the owner on Sep 27, 2022. It is now read-only.

Commit

Permalink
Merge pull request #178 from simde-utc/release/v0.2.0
Browse files Browse the repository at this point in the history
Release version v0.2.0
  • Loading branch information
NastuzziSamy authored Aug 19, 2019
2 parents 95a4ac8 + f01ba92 commit 45f10d4
Show file tree
Hide file tree
Showing 63 changed files with 1,287 additions and 538 deletions.
2 changes: 2 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
/node_modules/*
config.js
assets/scripts/*
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,7 @@ android/.gradle
android/app/build
android/build
android/local.properties
android/gradle.properties
android/app/release
*.iml

Expand Down
45 changes: 37 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,46 @@
# Payutc-mobile
PayUTC mobile Application
# PayUTC Mobile Application

## Specifications
<p align="center">
<img src="/assets/icon.png" alt="payutc-icon" width="150"/>
</p>

Specifications are defined in `SPECIFICATIONS.md`
PayUTC is an individual cashless wallet available for all members of the University of Technology of Compiègne and its partner schools. With this app, you will be able to view your balance, refill your account on a securised platform and transfer money to others members. It is also possible to check your history, get personalized stats on your purchases and to lock your badge for increased safety.

Development began in July 2019.
The app is developed for both Android and iOS, thanks to React Native.

The app is available in French, English and Chinese.

### iOS version

<p align="center">
<img src="/assets/screenshots/ios/connect.jpg" alt="connect-screen-ios" width="200"/>
<img src="/assets/screenshots/ios/home.jpg" alt="home-screen-ios" width="200"/>
<img src="/assets/screenshots/ios/transfer.jpg" alt="transfer-screen-ios" width="200"/>
<img src="/assets/screenshots/ios/stats.jpg" alt="stats-screen-ios" width="200"/>
</p>

### Android version

<p align="center">
<img src="/assets/screenshots/android/connect.png" alt="connect-screen-android" width="200"/>
<img src="/assets/screenshots/android/home.png" alt="home-screen-android" width="200"/>
<img src="/assets/screenshots/android/transfer.png" alt="transfer-screen-android" width="200"/>
<img src="/assets/screenshots/android/stats.png" alt="stats-screen-android" width="200"/>
</p>

## Installation

- Install expo-cli with the following command: `npm install -g expo-cli`
- Installer JS dependecies: `npm i`
- Install JavaScript dependencies: `npm install`

## Application run
## Run with Expo

- Run expo for Android: `npm run android`
- Run expo for iOS: `npm run ios`

## Application build
## Build on a device

### iOS
- iOS build requires Xcode. In order to use Xcode, you should update your pods using theses commands:
* `cd ios`
Expand All @@ -33,4 +58,8 @@ Specifications are defined in `SPECIFICATIONS.md`
* `hot/<issue shortname>` for hot bug fixes (Ex: bug affecting security on production).
- Respect the JS linter.
- Before pushing your code run `npm run test`. The linter will check the code and the tests we built will run. Correct possible errors and push.
- Finally don't hesitate to ask questions and enjoy!
- Finally don't hesitate to ask questions and enjoy!

## License

[GNU General Public License v3.0](./LICENSE)
4 changes: 2 additions & 2 deletions android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -102,8 +102,8 @@ android {
applicationId "fr.utc.assos.simde.payutc"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 2
versionName "0.1.0"
versionCode rootProject.ext.versionCode
versionName rootProject.ext.versionName
}
signingConfigs {
release {
Expand Down
6 changes: 4 additions & 2 deletions android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,15 @@ buildscript {
compileSdkVersion = 29
targetSdkVersion = 29
supportLibVersion = "28.0.0"
versionCode = 3
versionName = "0.2.0"
}
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.3.1'
classpath 'com.android.tools.build:gradle:3.4.0'

// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
Expand All @@ -33,7 +35,7 @@ allprojects {
}


task wrapper(type: Wrapper) {
wrapper {
gradleVersion = '4.7'
distributionUrl = distributionUrl.replace("bin", "all")
}
Binary file modified android/gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
2 changes: 1 addition & 1 deletion android/gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-all.zip
2 changes: 1 addition & 1 deletion android/gradlew
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`

# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS=""
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'

# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"
Expand Down
2 changes: 1 addition & 1 deletion android/gradlew.bat
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%

@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS=
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"

@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
Expand Down
7 changes: 4 additions & 3 deletions app.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
"owner": "BDE-UTC",
"privacy": "public",
"sdkVersion": "34.0.0",
"version": "0.0.1",
"githubUrl": "https://github.com/simde-utc/payutc-mobile",
"orientation": "portrait",
"icon": "./assets/icon.png",
Expand All @@ -22,7 +21,7 @@
"**/*"
],
"ios": {
"bundleIdentifier": "fr.utc.assos.simde.payutc",
"bundleIdentifier": "fr.utc.assos.payutc",
"icon": "./assets/icon.png"
},
"android": {
Expand All @@ -36,5 +35,7 @@
"entryPoint": "node_modules/expo/AppEntry.js"
},
"displayName": "PayUTC",
"name": "PayUTC"
"name": "PayUTC",
"versionCode": 3,
"versionName": "0.2.0"
}
30 changes: 30 additions & 0 deletions src/changelogs/en.json → assets/changelogs/en.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,34 @@
[
{
"version": "v0.2.0",
"data": [
{
"title": "New features",
"data": [
"Add chinese translation !",
"Auto-selection of the next input",
"Add description and screenshots to the README, on the Play Store and the Apple Store"
]
},
{
"title": "Changes",
"data": [
"Improve global design",
"Best statistic management",
"Full search in history, now search also with fundations"
]
},
{
"title": "Fixed bugs",
"data": [
"The application crashed on Samsung Galaxy S7",
"The version checker did not work as expected",
"Ajustment of the amount input",
"All dates were 2 hours early"
]
}
]
},
{
"version": "v0.1.0",
"data": [
Expand Down
30 changes: 30 additions & 0 deletions src/changelogs/fr.json → assets/changelogs/fr.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,34 @@
[
{
"version": "v0.2.0",
"data": [
{
"title": "Nouveautés",
"data": [
"Ajout de la langue Chinoise !",
"Auto-selection des champs suivants à remplir",
"Ajout d'une decription et des screenshots dans le README, sur le Play Store et l'Apple Store"
]
},
{
"title": "Modifications",
"data": [
"Amélioration globale de l'affichage",
"Meilleure gestion de l'affichage des statistiques",
"La recherche historique s'applique aussi sur les fondations"
]
},
{
"title": "Problèmes réglés",
"data": [
"L'application plantait sur les Samsung Galaxy S7",
"La vérification de mise à jour ne fonctionnait pas parfaitement",
"Ajustement du champ montant",
"Les dates étaient décallées de 2 heures"
]
}
]
},
{
"version": "v0.1.0",
"data": [
Expand Down
13 changes: 13 additions & 0 deletions assets/descriptions/en.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
export const title = 'PayUTC';
export const short = `The wallet of the associations of the University of Technology of Compiègne`;
export const description = `The University of Technology of Compiègne and its associations use the PayUTC cashless system.
Through this application, each member of the UTC and its partner schools will be able to log in to access their account and their wallet.
It is possible to:
- Check your balance
- Consult your history
- Transfer money to other members
- Reload directly from a secure interface
- Get statistics based on your account
- Lock your badge`;
13 changes: 13 additions & 0 deletions assets/descriptions/fr.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
export const title = 'PayUTC';
export const short = `Le porte-monnaie des associations de l'Université de Technologie de Compiègne`;
export const description = `L'Université de Technologie de Compiègne et ses associations utilisent le système cashless PayUTC.
Via cette application, chaque membre de l'UTC et des écoles partenaires pourront se connecter pour accéder à leur compte et leur porte-monnaie électronique.
Il est possible notamment de:
- Consulter son solde
- Consulter son historique
- Transférer de l’argent aux autres membres
- Recharger directement depuis une interface sécurisée
- Obtenir des statistiques basées sur son compte
- Verrouiller son badge`;
Binary file added assets/screenshots/android/connect.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/screenshots/android/history.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/screenshots/android/home.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/screenshots/android/settings.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/screenshots/android/stats.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/screenshots/android/transfer.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/screenshots/ios/connect.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/screenshots/ios/history.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/screenshots/ios/home.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/screenshots/ios/settings.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/screenshots/ios/stats.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/screenshots/ios/transfer.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
55 changes: 55 additions & 0 deletions assets/scripts/get_android_description.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
const fs = require('fs');

let currentVersion = process.argv[2] || JSON.parse(fs.readFileSync('app.json', 'utf8')).versionName;
if (currentVersion[0] !== 'v') currentVersion = 'v' + currentVersion;

const showData = (data, space) => {
for (subKey in data) {
const element = data[subKey];

if (typeof element === 'string') {
console.log(space + '- ' + element);
} else {
console.log(space + '- ' + element.title);

showData(element.data, space + ' ');
}
}
};

const showChangelog = (lang, langText) => {
const changelogs = JSON.parse(fs.readFileSync('assets/changelogs/' + lang + '.json', 'utf8'));

console.log('<' + langText + '>');

for (key in changelogs) {
const { version, data } = changelogs[key];

if (version === currentVersion) {
for (subKey in data) {
const element = data[subKey];

if (typeof element === 'string') {
console.log(element);
} else {
console.log(element.title);

showData(element.data, '');
}

if (subKey < data.length) {
console.log('');
}
}

console.log('</' + langText + '>');

return;
}
}

throw 'Missing version changelogs for ' + lang;
}

showChangelog('fr', 'fr-FR');
showChangelog('en', 'en-IN');
20 changes: 20 additions & 0 deletions assets/scripts/get_version.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
const fs = require('fs');

const appJson = JSON.parse(fs.readFileSync('app.json', 'utf8'));
const code = appJson.versionCode;
const name = appJson.versionName;

switch (process.argv[2]) {
case 'code':
console.log(code);
break;

case 'name':
console.log(name);
break;

case 'fullname':
default:
console.log(`v${name}`);
break;
}
47 changes: 47 additions & 0 deletions assets/scripts/get_version_description.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
const fs = require('fs');

const changelogs = JSON.parse(fs.readFileSync('assets/changelogs/en.json', 'utf8'));

let currentVersion = process.argv[2] || JSON.parse(fs.readFileSync('app.json', 'utf8')).versionName;
if (currentVersion[0] !== 'v') currentVersion = 'v' + currentVersion;

const showData = (data, space) => {
for (subKey in data) {
const element = data[subKey];

if (typeof element === 'string') {
console.log(space + '- ' + element);
} else {
console.log(space + '- ' + element.title);

showData(element.data, space + '\t');
}
}
};

for (key in changelogs) {
const { version, data } = changelogs[key];

if (version === currentVersion) {
console.log('# Changelog');

for (subKey in data) {
const element = data[subKey];
console.log('');

if (typeof element === 'string') {
console.log(element);
} else {
console.log(`## ${element.title}`);

showData(element.data, '');
}
}

console.log('\n# Deprecated versions: < ' + version);

return;
}
}

throw 'Missing version changelogs';
Loading

0 comments on commit 45f10d4

Please sign in to comment.