Merge pull request 'Views_navigation' (#2) from Views_navigation into master

Reviewed-on: #2
pull/7/head
Emre KARTAL 2 years ago
commit 17a932905d

@ -1,22 +1,21 @@
<div align = center>
![Image de l'application](doc/Banner_App.png)
![Image de l'application](doc/Images/Banner_App.png)
</div>
**Nom de lapplication** : FLAD :musical_note:
</br>
**Thème de lapplication** : Réseau social destiné aux appareils mobiles Android et iOS focalisé sur la musique.
**Thème de lapplication** : Réseau social cross-plateforme dans le thème de la musique destiné aux utilisateurs d'appareils mobiles.
</br>
**Récapitulation de notre application** : 👇
**Contexte** : 👇
</br>
:information_source: Ce projet est un travail universitaire pour la deuxième année du B.U.T Informatique de Clermont-Ferrand.
# Répartition du Gitlab
## Répartition du Gitlab
La racine de notre gitlab est composée de deux dossiers essentiels au projet:
@ -24,37 +23,61 @@ La racine de notre gitlab est composée de deux dossiers essentiels au projet:
[**doc**](doc) : **Documentation de l'application**
# Fonctionnement
## Fonctionnement
- ### Comment lancer le projet ?
Tout d'abord si ce n'est pas fait cloner le dépôt de la branche **master/main**, pour cela copier le lien URL du dépôt git :
<div align = center>
![Comment cloner](doc/Images/HowToClone.png)
</div>
Puis, dans un terminal dans le répertoire que vous souhaiter taper la commande : **git clone https://codefirst.iut.uca.fr/git/FLAD_Dev/FLAD.git**
Ensuite dans un terminal, assurer vous que vous possédez node.js, pour cela il existe la commande : **npm -v**
cd /home/scratch/compte
echo $http_proxy
:information_source: *Si vous ne disposez pas de node.js, allé sur le site [Download Node.js](https://nodejs.org/en/download/) pour pouvoir le télécharger, vous pouvez aussi utiliser nvm qui est un outil de gestion des versions de Node.js sur votre appareil, pour en savoir plus il existe le site [Guide NVM](https://www.freecodecamp.org/news/node-version-manager-nvm-install-guide/) !!!*
<br>
Pour la suite, il suffit seulement de vérifier que node.js est à jour et installer le client expo-cli via la commande : **npm install expo-cli**
Maintenant vous pouvez à tout moment lancer l'application grâce à la commande : **npx expo start :sunglasses:**
<br>
:information_source: *Cliquer sur la touche 'w' si vous voulez le visualiser sur un navigateur (ce que je ne conseille pas) ou installer l'application 'Expo go' de votre téléphone et scanner le QR code proposer pour le visualiser (à noter que l'ordinateur dans lequel il se voit lancer doit être dans le même réseau local que votre téléphone)*
http://193.49.118.36:8080
- ### Comment le lancer à partir de l'iut d'Aubière ?
vim ~/.npmrc
Cela est un peu plus difficile mais faisable !!!
<br>
Tout d'abord aller dans votre compte scratch : **cd home/scratch/compte**
Dedans :
Puis récupérer votre adresse IP via la commande : **echo $http_proxy**
proxy=http://193.49.118.36:8080
http_proxy=http://193.49.118.36:8080
https_proxy=http://193.49.118.36:8080
cache=/home/scratch/emkartal1/npmcache
Exemple : http://193.49.118.36:8080
Maintenant aller dans le fichier ~/.npmrc (**vim ~/.npmrc**) et noter les informations suivantes (bien entendu remplacer l'IP ci-dessous par l'IP que vous avez récupérer juste avant) :
npm install expo-cli
``` bash
proxy=http://193.49.118.36:8080
http_proxy=http://193.49.118.36:8080
https_proxy=http://193.49.118.36:8080
cache=/home/scratch/compte/npmcache
```
export NODES_OPTIONS=--openssl-legacy-provider
Puis installer le client expo-cli via la commande : **npm install expo-cli**
export start
Et entrer la commande : **export NODE_OPTIONS=--openssl-legacy-provider**
De plus, cliquer sur la touche w lors du lancement
Maintenant vous pouvez à tout moment lancer l'application grâce à la commande : **npx expo start :sunglasses:**
<br>
:information_source: *Cliquer sur la touche 'w' si vous voulez le visualiser sur un navigateur (ce que je ne conseille pas) ou installer l'application 'Expo go' de votre téléphone et scanner le QR code proposer pour le visualiser (à noter que l'ordinateur dans lequel il se voit lancer doit être dans le même réseau local que votre téléphone)*
# Environnement de Travail
## Environnement de Travail
Notre environnement de travail se base sur plusieurs outils et langages :👇
@ -62,7 +85,7 @@ Notre environnement de travail se base sur plusieurs outils et langages :👇
---
&nbsp; ![React Native](https://img.shields.io/badge/React%20Native-000?style=for-the-badge&logo=react&logoColor=cian&color=white)
&nbsp; ![React Native](https://img.shields.io/badge/React%20Native-000?style=for-the-badge&logo=react&logoColor=white&color=lightblue&textColor=white)
&nbsp; ![TypeScript](https://img.shields.io/badge/TypeScript-000?style=for-the-badge&logo=typescript&logoColor=white&color=blue)
&nbsp; ![JavaScript](https://img.shields.io/badge/JavaScript-000?style=for-the-badge&logo=javascript&logoColor=white&color=yellow)
@ -70,7 +93,12 @@ Notre environnement de travail se base sur plusieurs outils et langages :👇
</div>
# Technicien en charge de l'application
## Deploiement
- [x] &nbsp; ![IOS](https://img.shields.io/badge/IOS-000?style=for-the-badge&logo=apple&logoColor=black&color=white)
- [x] &nbsp; ![Android](https://img.shields.io/badge/Android-000?style=for-the-badge&logo=android&logoColor=white&color=green)
## Technicien en charge de l'application
La composition pour le projet se voit réaliser par deux élèves de l'IUT d'Aubière:
<br>

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

@ -0,0 +1,15 @@
> Why do I have a folder named ".expo" in my project?
The ".expo" folder is created when an Expo project is started using "expo start" command.
> What do the files contain?
- "devices.json": contains information about devices that have recently opened this project. This is used to populate the "Development sessions" list in your development builds.
- "packager-info.json": contains port numbers and process PIDs that are used to serve the application to the mobile device/simulator.
- "settings.json": contains the server configuration that is used to serve the application manifest.
> Should I commit the ".expo" folder?
No, you should not share the ".expo" folder. It does not contain any information that is relevant for other developers working on the project, it is specific to your machine.
Upon project creation, the ".expo" folder is already added to your ".gitignore" file.

@ -0,0 +1,8 @@
{
"hostType": "lan",
"lanType": "ip",
"dev": true,
"minify": false,
"urlRandomness": null,
"https": false
}

@ -1,8 +1,7 @@
import { StatusBar } from 'expo-status-bar';
import { useState, useTransition } from 'react';
import { Animated, StyleSheet, Text, View } from 'react-native';
import Card from './components/Card';
import FavoritePage from './pages/favoritePage';
import { cards as cardArray } from './FakeData/data'
@ -28,7 +27,7 @@ const onSwipe = (index: number, direction: 'left' | 'right') => {
return (
<View style={{ flex: 1, alignItems: 'center', justifyContent: 'center', position : 'absolute', backgroundColor : '' }}>
/*<View style={{ flex: 1, alignItems: 'center', justifyContent: 'center', position : 'absolute', backgroundColor : '' }}>
{cards.map((card, index) => (
<View key={card.name}>
<Card
@ -38,6 +37,10 @@ const onSwipe = (index: number, direction: 'left' | 'right') => {
/>
</View>
))}
</View>*/
<View style={{backgroundColor: '#141414'}}>
<FavoritePage/>
</View>
@ -67,18 +70,18 @@ const styles = StyleSheet.create({
flex: 1,
backgroundColor: '#fff',
alignItems: 'center',
justifyContent: 'center',
justifyContent: 'center'
},
card: {
borderRadius : 8,
shadowRadius : 20,
shadowColor : '#'
},
image: {
width: 320,
height: 440,
borderRadius: 18,
resizeMode : "cover",
placeholder: "assets/images/loadingPlaceholder.gif"
},
card: {
borderRadius : 8,
shadowRadius : 20,
shadowColor : '#'
},
image: {
width: 320,
height: 440,
borderRadius: 18,
resizeMode : "cover",
placeholder: "assets/images/loadingPlaceholder.gif"
},
});

@ -9,7 +9,7 @@
"splash": {
"image": "./assets/splash.png",
"resizeMode": "contain",
"backgroundColor": "#ffffff"
"backgroundColor": "#141414"
},
"updates": {
"fallbackToCacheTimeout": 0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 834 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 579 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 16 KiB

@ -0,0 +1,59 @@
import React, {Component} from 'react';
import { Animated, StyleSheet, Text, View, FlatList , Image} from 'react-native';
type CustomCardMusic = { //Props
image: any;
title: string;
description: string;
}
export default function CardMusic(CBP: CustomCardMusic) {
return (
<View style={styles.container}>
<View style={styles.imageContainer}>
<Image source={require('../assets/jul.png')} style={styles.image}/>
</View>
<View style={styles.textContainer}>
<Text style={styles.title}>{CBP.title}</Text>
<Text style={styles.description}>{CBP.description}</Text>
</View>
</View>
);
}
const styles = StyleSheet.create({
container: {
flexDirection: 'row',
alignItems: 'center',
justifyContent: 'space-between',
margin: 20
},
imageContainer: {
width: 80,
height: 80,
alignItems: 'center',
justifyContent: 'center',
marginRight: 20
},
image: {
width: '100%',
height: '100%',
borderRadius: 10
},
textContainer: {
flex: 1,
alignItems: 'flex-start',
justifyContent: 'center',
},
title: {
fontWeight: 'bold',
color: 'white',
fontSize: 20,
marginBottom: 10
},
description: {
color: 'white',
fontSize: 16
}
});

@ -12,7 +12,7 @@
"@react-navigation/native": "^6.1.2",
"@react-navigation/native-stack": "^6.9.8",
"expo": "~47.0.12",
"expo-cli": "^6.1.0",
"expo-cli": "^6.2.1",
"expo-status-bar": "~1.4.2",
"react": "18.1.0",
"react-dom": "18.1.0",

@ -0,0 +1,41 @@
import React, {Component} from 'react';
import { Animated, StyleSheet, Text, View, FlatList, ScrollView } from 'react-native';
import Card from '../components/Card';
import CardMusic from '../components/CardMusic';
export default function favoritePage() {
return (
<View>
<View style={styles.titleContainer}>
<Text style={styles.title}>Favoris</Text>
<Text style={styles.description}>Retrouvez ici vos musiques favorites</Text>
</View>
<ScrollView>
<CardMusic image="../assets/jul.png" title="La pharmacie" description="Jul"/>
<CardMusic image="../assets/pnl.png" title="deux frères" description="PNL"/>
<CardMusic image="../assets/jul.png" title="La pharmacie" description="Jul"/>
<CardMusic image="../assets/pnl.png" title="deux frères" description="PNL"/>
<CardMusic image="../assets/jul.png" title="La pharmacie" description="Jul"/>
<CardMusic image="../assets/pnl.png" title="deux frères" description="PNL"/>
</ScrollView>
</View>
);
};
const styles = StyleSheet.create({
titleContainer: {
marginLeft: 20,
marginVertical: 50,
},
title: {
fontSize: 24,
fontWeight: 'bold',
color: 'white',
},
description: {
marginTop: 10,
fontSize: 18,
color: '#787878',
},
});
Loading…
Cancel
Save