Skip to content

Maxime2i/Swifty-companion

Repository files navigation

🚀 Swifty Companion

React Native Expo TypeScript Platform

Une application mobile moderne pour explorer le profil des étudiants de l'école 42

📱 Fonctionnalités🛠️ Technologies🚀 Installation📖 Utilisation🔑 Configuration API🎯 Bonus


📱 Fonctionnalités

🔍 Recherche Intelligente

  • Recherche instantanée d'étudiants par login 42
  • Interface intuitive et responsive
  • Gestion des erreurs en temps réel

👤 Profil Complet

  • Informations personnelles : Nom, prénom, campus
  • Cursus académique : Niveau actuel et progression
  • Projets réalisés : Statut détaillé (validé ✅, en cours 🔄, échoué ❌)
  • Compétences : Niveaux d'acquisition avec visualisation
  • Coalition : Informations sur l'évolution dans l'école

🌍 Support Multilingue

  • Interface internationalisée avec i18n
  • Support de multiples langues
  • Formats régionaux adaptés

📊 Visualisations Avancées

  • Graphiques interactifs pour les compétences
  • Parallax scrolling pour une expérience immersive
  • Animations fluides et transitions élégantes

🛠️ Technologies

Frontend Mobile

  • React Native 0.74.5 - Framework cross-platform
  • Expo 51.0.28 - Outils de développement et déploiement
  • TypeScript 5.3.3 - Typage statique pour la fiabilité

UI/UX

  • React Navigation - Navigation native fluide
  • React Native Reanimated - Animations performantes
  • React Native Chart Kit - Visualisations de données
  • Expo Vector Icons - Icônes natives

Gestion d'État & API

  • Axios - Client HTTP robuste
  • AsyncStorage - Stockage local persistant
  • i18next - Internationalisation complète

Développement

  • Jest - Tests unitaires
  • ESLint - Qualité du code
  • Babel - Transpilation moderne

🚀 Installation

Prérequis

  • Node.js 18+
  • npm ou yarn
  • Expo CLI
  • iOS Simulator (macOS) ou Android Studio

Installation Rapide

# Cloner le repository
git clone https://github.com/votre-username/swifty-companion.git
cd swifty-companion

# Installer les dépendances
npm install

# Démarrer l'application
npm start

Scripts Disponibles

npm start          # Démarrer Expo
npm run android    # Lancer sur Android
npm run ios        # Lancer sur iOS
npm run web        # Lancer sur le web
npm test           # Exécuter les tests
npm run lint       # Vérifier la qualité du code

📖 Utilisation

1. Recherche d'Étudiant

  • Lancez l'application
  • Entrez le login 42 de l'étudiant recherché
  • Appuyez sur "Rechercher"

2. Exploration du Profil

  • Onglet Profil : Informations personnelles et académiques
  • Onglet Projets : Détail des projets avec statuts
  • Onglet Compétences : Visualisation des niveaux
  • Onglet Coalition : Évolution dans l'école

3. Navigation Intuitive

  • Swipe entre les sections
  • Tap pour développer les détails
  • Pull-to-refresh pour actualiser

🔑 Configuration API

Obtention des Clés API 42

  1. Connexion à l'Intranet

  2. Création d'Application OAuth

    • Allez dans "Profile" → "Settings" → "API"
    • Cliquez sur "New Application"
    • Remplissez les informations requises
  3. Récupération des Clés

    • Copiez votre client_id
    • Copiez votre client_secret
  4. Configuration dans l'App

    • Créez un fichier .env à la racine
    • Ajoutez vos clés :
CLIENT_ID=votre_client_id
CLIENT_SECRET=votre_client_secret

Gestion des Tokens

  • Authentification automatique OAuth2
  • Renouvellement automatique des tokens expirés
  • Stockage sécurisé des informations d'authentification

🎯 Bonus

Fonctionnalités Avancées

  • Actualisation automatique des tokens API 42
  • Gestion intelligente des erreurs réseau
  • Interface adaptative pour tous les écrans
  • Performance optimisée avec React Native 0.74.5
  • Tests automatisés avec Jest
  • Linting strict pour la qualité du code

Architecture Moderne

  • Expo Router pour la navigation
  • Hooks personnalisés pour la logique métier
  • Composants réutilisables et testables
  • Gestion d'état optimisée
  • Support TypeScript complet

📱 Captures d'Écran

Capture d’écran 2025-08-12 à 12 04 15 Capture d’écran 2025-08-12 à 12 31 03 Capture d’écran 2025-08-12 à 12 31 18 Capture d’écran 2025-08-12 à 12 31 30 Capture d’écran 2025-08-12 à 12 31 40

About

Swifty Companion est un projet de l'école 42 pour créer une application mobile affichant les informations d'un utilisateur via l'API publique de l'école. Il permet de renforcer les compétences en développement mobile, avec React Native dans mon cas.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors