diff --git a/README.md b/README.md index 0d1a385..c617350 100644 --- a/README.md +++ b/README.md @@ -1,22 +1,21 @@
-![Image de l'application](doc/Banner_App.png) +![Image de l'application](doc/Images/Banner_App.png)
**Nom de l’application** : FLAD :musical_note:
-**Thème de l’application** : Réseau social destiné aux appareils mobiles Android et iOS focalisé sur la musique. +**Thème de l’application** : Réseau social cross-plateforme dans le thème de la musique destiné aux utilisateurs d'appareils mobiles.
-**Récapitulation de notre application** : 👇 - +**Contexte** : 👇
: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 : + +
+ +![Comment cloner](doc/Images/HowToClone.png) + +
+ +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/) !!!* +
+ +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:** +
+: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 !!! +
+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:** +
+: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 :👇 --- -  ![React Native](https://img.shields.io/badge/React%20Native-000?style=for-the-badge&logo=react&logoColor=cian&color=white) +  ![React Native](https://img.shields.io/badge/React%20Native-000?style=for-the-badge&logo=react&logoColor=white&color=lightblue&textColor=white)   ![TypeScript](https://img.shields.io/badge/TypeScript-000?style=for-the-badge&logo=typescript&logoColor=white&color=blue)   ![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 :👇 -# Technicien en charge de l'application +## Deploiement +- [x]   ![IOS](https://img.shields.io/badge/IOS-000?style=for-the-badge&logo=apple&logoColor=black&color=white) +- [x]   ![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:
diff --git a/doc/Images/HowToClone.png b/doc/Images/HowToClone.png new file mode 100644 index 0000000..f4e1c5b Binary files /dev/null and b/doc/Images/HowToClone.png differ diff --git a/src/.expo/README.md b/src/.expo/README.md new file mode 100644 index 0000000..fd146b4 --- /dev/null +++ b/src/.expo/README.md @@ -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. diff --git a/src/.expo/settings.json b/src/.expo/settings.json new file mode 100644 index 0000000..92bc513 --- /dev/null +++ b/src/.expo/settings.json @@ -0,0 +1,8 @@ +{ + "hostType": "lan", + "lanType": "ip", + "dev": true, + "minify": false, + "urlRandomness": null, + "https": false +} diff --git a/src/FLAD/App.tsx b/src/FLAD/App.tsx index e8bcfa7..3ce817b 100644 --- a/src/FLAD/App.tsx +++ b/src/FLAD/App.tsx @@ -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 ( - + /* {cards.map((card, index) => ( { /> ))} + */ + + + @@ -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" - }, }); \ No newline at end of file diff --git a/src/FLAD/app.json b/src/FLAD/app.json index bdbb044..7d22ae5 100644 --- a/src/FLAD/app.json +++ b/src/FLAD/app.json @@ -9,7 +9,7 @@ "splash": { "image": "./assets/splash.png", "resizeMode": "contain", - "backgroundColor": "#ffffff" + "backgroundColor": "#141414" }, "updates": { "fallbackToCacheTimeout": 0 diff --git a/src/FLAD/assets/icon.png b/src/FLAD/assets/icon.png index a0b1526..f2e6f06 100644 Binary files a/src/FLAD/assets/icon.png and b/src/FLAD/assets/icon.png differ diff --git a/src/FLAD/assets/jul.png b/src/FLAD/assets/jul.png new file mode 100644 index 0000000..9ef32e1 Binary files /dev/null and b/src/FLAD/assets/jul.png differ diff --git a/src/FLAD/assets/pnl.png b/src/FLAD/assets/pnl.png new file mode 100644 index 0000000..73bfc5d Binary files /dev/null and b/src/FLAD/assets/pnl.png differ diff --git a/src/FLAD/assets/splash.png b/src/FLAD/assets/splash.png index 0e89705..8e0dc29 100644 Binary files a/src/FLAD/assets/splash.png and b/src/FLAD/assets/splash.png differ diff --git a/src/FLAD/components/CardMusic.tsx b/src/FLAD/components/CardMusic.tsx new file mode 100644 index 0000000..81d49d7 --- /dev/null +++ b/src/FLAD/components/CardMusic.tsx @@ -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 ( + + + + + + {CBP.title} + {CBP.description} + + + ); + } + + 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 + } + }); \ No newline at end of file diff --git a/src/FLAD/package.json b/src/FLAD/package.json index 7490513..fc5c653 100644 --- a/src/FLAD/package.json +++ b/src/FLAD/package.json @@ -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", diff --git a/src/FLAD/pages/favoritePage.tsx b/src/FLAD/pages/favoritePage.tsx new file mode 100644 index 0000000..2ab49db --- /dev/null +++ b/src/FLAD/pages/favoritePage.tsx @@ -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 ( + + + Favoris + Retrouvez ici vos musiques favorites + + + + + + + + + + + ); +}; + +const styles = StyleSheet.create({ + titleContainer: { + marginLeft: 20, + marginVertical: 50, + }, + title: { + fontSize: 24, + fontWeight: 'bold', + color: 'white', + }, + description: { + marginTop: 10, + fontSize: 18, + color: '#787878', + }, +});