Conception¶
Architecture simplifiée¶
SportLink/
├── AppEntry/
|
├── Authentication/
|
├── Core/
| ├── Extensions/
| ├── Models/
| └── Services/
| ├── Firebase/
| └── Local/
|
├── Navigation/
| ├── Home/
| ├── Discover/
| ├── Create/
| ├── Bookings/
| └── Profile/
|
├── Resources/
| ├── Assets/
| ├── Configuration/
| └── Data/
|
└── Shared/
Choix technologiques¶
Nous avons opté pour un développement natif iOS en Swift, pour :
-
Utilisation de
Xcode
comme IDE pour le code et la simulation en temps réelle-
Tirer parti des composants natifs (localisation, notifications)
-
Cibler uniquement iOS 17+ pour simplifier les tests https://developer.apple.com/support/app-store/ [Statistiques de répartition des versions iOS]
-
-
Utilisation du framework
SwiftUI
afin de bénéficier de la stabilité et des performances natives -
Utilisation de
Firebase
pour le backend, plus exactementCloud Firestore
Modèles et diagrammes¶
Voici notre diagramme UML :
Architecture du système¶
Voici notre diagramme notre modèle C4 :
Modèle de données¶
Voici le modèle de données style NoSQL qui réflète les entités métiers. C'est ainsi que les données seront stockées dans Firebase.
activites
¶
activites (collection)
├── {activiteId}
├── organisateurId
├── titre
├── sport
├── date
├── indraID
├── descritpion
├── nbJoueursRecherches
├── statut
└── invitationsOuvertes
utilisateurs
¶
utilisateurs (collection)
└── {utilisateurId}
├── nomUtilisateur
├── photoUrl
├── disponibilites
└── sportsFavoris
messages
¶
messages (collection)
└── {messageId}
├── auteurId
├── contenu
└── timestamp
Prototype¶
La maquette Figma se trouve ici.