À propos du projet

# Application de revue de restaurant universitaire 'EAT-SSU' (잇슈) 'EAT-SSU' est une application Android conçue pour permettre aux étudiants de l'Université de Sungshil de consulter les menus des restaurants scolaires et de laisser des commentaires. L'application a été lancée le 28 novembre 2023 sur Google Play Store et compte actuellement environ 5 000 utilisateurs. Ce dépôt contient le code source client et les directives de développement de l'application. ## Fonctionnalités et services principaux - **Révision des menus du restaurant universitaire** : les utilisateurs peuvent évaluer et écrire des commentaires sur les menus qu'ils ont essayés. - **Informations sur les menus** : les utilisateurs peuvent consulter les menus disponibles par jour et les informations sur les restaurants. - **Fonction d'alerte** : l'application prend en charge les notifications push pour les mises à jour importantes et les événements. - **Connexion sociale** : l'application utilise le SDK OAuth de Kakao pour une inscription et une connexion faciles. ## Pile technologique et architecture Le projet est construit avec les technologies suivantes pour refléter les dernières tendances de développement Android. - **Langage** : Kotlin - **Architecture** : le modèle MVVM et l'architecture propre sont appliqués pour séparer clairement les préoccupations et améliorer la facilité de test. - **Traitement asynchrone** : Coroutine et Flow sont utilisés pour gérer efficacement les flux de données. - **Injection de dépendance** : Hilt est utilisé pour gérer les dépendances entre les composants. - **Réseau** : Retrofit2 et OkHttp3 sont utilisés pour communiquer avec le serveur et Glide pour charger les images. - ** Liaison de vues** : XML et ViewBinding, DataBinding sont utilisés pour implémenter l'interface utilisateur. - **Surveillance** : Firebase RemoteConfig est utilisé pour contrôler les indicateurs de fonctionnalité et Crashlytics pour suivre la stabilité de l'application. ## Structure des packages Le code source est organisé avec `com.eatssu.android` comme racine et est clairement divisé en couches de domaine, de données et de présentation. - `domain` : logique métier, cas d'utilisation et définition de modèle - `data` : service API, DTO, mise en œuvre du référentiel - `presentation` : écran (interface utilisateur) et modèle de vue, utilitaires communs - `di`, `alarm` : module d'injection de dépendance et fonctionnalité de notification ## Environnement de développement et convention - **IDE** : Android Studio Koala (2024.1.1) - **JDK** : 17 - **SDK** : Min SDK 28, Target SDK 35 - L'équipe a publié des documents de convention Android et Git détaillés sur GitHub Wiki pour maintenir une qualité de code cohérente. ## Pipeline CI/CD Le processus de construction et de déploiement est automatisé à l'aide de Fastlane. - **Construction locale** : possibilité de construire avec les commandes `bundle exec fastlane build_qa_apk` ou `build_release_aab`. - **Actions GitHub** : construction CI automatique lors de la poussée de la branche `develop`, construction AAB, déploiement sur Play Store, création de version GitHub et étiquetage automatique lors de la fusion de la branche `release/<version>`. ## Améliorations futures Des tâches telles que la modularisation, l'introduction de Jetpack Compose, l'application du modèle DataSource + Repository sont actuellement en attente.