- Stack technique
- Lancer le backend du projet
- Base de données et Bucket Appwrite
- Lancer le projet Expo
Ce projet mobile est construit avec les technologies suivantes :
- React Native — Base du développement mobile multiplateforme
- Expo — Outils de développement, compilation et déploiement
- Nativewind — Utilisation de Tailwind CSS dans React Native
- React Native Size Matters — Gestion responsive des tailles d’éléments
- React Native Papper — UI réellement adaptative
- React Native Animatable — Animations simples et performantes
- Appwrite — Backend open-source (authentification, base de données, stockage, etc.)
L'application utilise Appwrite comme backend (authentification, base de données, stockage, etc.).
Assurez-vous d'avoir Docker et Docker Compose installés sur votre machine. Pour cela, installer docker sur votre machine.
git clone https://github.com/richazim/magags.git
cd appwrite
docker compose up -d
Par défaut, l'interface Appwrite sera disponible sur http://localhost:80.
Rendez-vous sur http://localhost:80 dans votre navigateur pour :
Dans votre interface appwrite:
- Créer un compte Appwrite local.
- Créer un projet Appwrite puis copier l'identifiant du projet pour l'utiliser dans le fichier .env.
- Ajouter une platforme au projet Appwrite de préférence la platforme Android puis copier également l'id du platforme pour pouvoir l'utiliser dans .env
- Suivre la même procédé pour la création d'une base de donnée, ses tables.
- Faire pareil également pour la création d'un bucket
Dans votre app Expo, votre fichier .env à la racine doit ressemblez à ça :
EXPO_PUBLIC_APPWRITE_ENDPOINT=http://localhost/v1
EXPO_PUBLIC_APPWRITE_PROJECT_ID=<votre_project_id>
EXPO_PUBLIC_APPWRITE_APPLICATION_ID=<votre_application_id>
EXPO_PUBLIC_APPWRITE_DATABASE_ID=<votre_database_id>
EXPO_PUBLIC_APPWRITE_USER_ID=<votre_user_id>
EXPO_PUBLIC_APPWRITE_VIDEO_ID=<votre_video_id>
EXPO_PUBLIC_APPWRITE_BOOKMARKS_ID=<votre_bookmarks_id>
EXPO_PUBLIC_APPWRITE_STORAGE_BUCKET_ID=<votre_bucket_id>
Si vous développez sur Expo Go d'un mobile physique (et non dans le simulateur de votre pc ou mac), remplacez localhost par l’IP locale de votre machine, accessible depuis le téléphone.
APPWRITE_ENDPOINT=http://192.168.X.XXX/v1
Vous avez la possibilité de configurer appwrite en local à partir du dossier /appwrite si vous disposer de docker déjà installer sur votre machine.
Colonne | Type | Contraintes | Description |
---|---|---|---|
username |
String |
Required | Nom d'utilisateur |
email |
Email |
Required | Email de l'utilisateur |
avatarUrl |
Url |
Mot de passe hashé | |
accountId |
TIMESTAMP |
Required | Identifiant d'authentification appwrite |
Colonne | Type | Contraintes | Description |
---|---|---|---|
creatorId |
RELATIONSHIP |
FK → users.id , NOT NULL |
Auteur de la vidéo |
title |
VARCHAR(255) |
NOT NULL | Titre de la vidéo |
thumbnailUrl |
TEXT |
Description facultative | |
videoUrl |
TEXT |
NOT NULL | Chemin du fichier vidéo |
videoStorageId |
TIMESTAMP |
DEFAULT CURRENT_TIMESTAMP | Date d’ajout |
thumbnailStorageId |
TIMESTAMP |
DEFAULT CURRENT_TIMESTAMP | Date d’ajout |
Colonne | Type | Contraintes | Description |
---|---|---|---|
userId |
INTEGER |
FK → users.id , NOT NULL |
Utilisateur qui a bookmarké |
videoId |
INTEGER |
FK → videos.id , NOT NULL |
Vidéo bookmarkée |
npm install
npx expo start
Vous aurez la possibilité d'ouvrir l’application dans :
- Émulateur Android
- Simulateur iOS
- Expo Go (dans votre téléphone mobile)