Kobe - Application budgétaire mobile (FRRONND)

Description générale
Application qui permet d'assembler un budget par mois, où il existe 3 types de mouvements: le revenu, les dépenses et l'épargne. Pour chaque type de mouvement, jusqu'à 10 catégories peuvent être définies. Au cours d'un mois donné, l'utilisateur peut définir la valeur qui prévoit de désigner chaque catégorie (budget). Par la suite, au cours du mois, l'utilisateur enregistrera ses mouvements et à partir de ceux-ci, dans un onglet statistique, vous pouvez voir comment le plan qui a fait pour le mois est réalisé.
Liaison figma
Image de référence:

Environnement de développement
Pour créer un environnement de développement d'une application Web avec Flutter à la frontière et express.js dans le backend, pour l'installer, vous pouvez suivre ces étapes:
Configuration de la frontière
- Installation de Flutter - Développement mobile.
- Tout d'abord, téléchargez et installez Flutter à partir de sa page officielle: https://flutter.dev/docs/get-started/install. Suivez les instructions spécifiques pour votre système d'exploitation. Ajoutez par la suite le chemin des variables d'environnement.
- Configuration Android Studio - un émulateur mobile Android pour tester l'application.
- Installez Android Studio à partir du site officiel d'Android Studio: https://developer.android.com/studio.
- Dans Android Studio, installez le SDK Android et configurez un émulateur sur le gestionnaire AVD pour simuler un appareil mobile.
- Code Visual Studio - Configuration IDE à utiliser dans le projet.
- Téléchargez et installez Visual Studio Code (VSCODE) à partir de sa page officielle: https://code.visualstudio.com/.
- Les plugins suivants peuvent être installés pour faciliter le codage dans Flutter:
- Flutter: pour intégrer la prise en charge de VScode et inclure des fonctionnalités telles que l'exécution d'applications et la purification.
- DART: nécessaire pour travailler avec Flutter, car il prend en charge le langage de programmation DART.
- Extraits de flottement impressionnants: fournit des énions de code utiles pour se développer plus rapidement dans Flutter.
- Extraits de widget de flottement: une collection d'extraits pour les widgets les plus couramment utilisés dans Flutter.
Configuration du backend
- Installation de Node.js
- Téléchargez et installez Node.js à partir de sa page officielle: https://nodejs.org/. Node.js est nécessaire pour travailler avec express.js. Ajoutez par la suite le chemin des variables d'environnement.
- Création et configuration d'un projet express.js
- Ouvrez un terminal et utilisez la commande suivante pour installer le générateur d'applications express: NPM Install -g Express -Generator
- Créer un nouveau projet express avec la commande: Express Name-of-TU-Project
- Développement dans express.js
- Développez votre application backend en modifiant les fichiers dans le répertoire du projet. Ils peuvent être installés supplémentaires si nécessaire, en les installant avec le nom d'installation NPM.
- Des outils tels que Postman ou Insomnia peuvent être utilisés pour tester les points de terminaison API de votre application Express.js.
Exécution et tests
- Pour la bordure, ouvrez le code vs, accédez au répertoire de votre projet Flutter et exécutez votre application à l'aide de l'émulateur configuré dans Android Studio.
- Pour le backend, dans un terminal se rendra au répertoire de votre projet express et exécute
npm start pour démarrer le serveur.
Exigences
Exigences fonctionnelles
| |
|---|
| Identification de l'exigence | RF1 |
| Nom des exigences | Création de compte |
| Caractéristiques | L'utilisateur peut créer un compte, définissant un nom d'utilisateur et un mot de passe. |
| Description de l'exigence | L'utilisateur peut créer un compte donnant les données: e-mail, nom d'utilisateur, nom complet et mot de passe |
| Exigence non fonctionnelle | RNF1, RNF2, RNF5 |
| Priorité de l'exigence | Haut |
| |
|---|
| Identification de l'exigence | RF2 |
| Nom des exigences | Authentification des utilisateurs |
| Caractéristiques | L'utilisateur pour se connecter doit saisir les informations du compte |
| Description de l'exigence | L'utilisateur pour se connecter doit entrer son nom d'utilisateur et son mot de passe |
| Exigence non fonctionnelle | RNF1, RNF2, RNF5 |
| Priorité de l'exigence | Moyenne |
| |
|---|
| Identification de l'exigence | RF3 |
| Nom des exigences | Création de catégories |
| Caractéristiques | L'utilisateur peut créer des catégories |
| Description de l'exigence | L'utilisateur sera en mesure de créer un maximum de 10 catégories pour ses revenus, ses dépenses et ses économies. |
| Exigence non fonctionnelle | RNF1, RNF2, RNF6 |
| Priorité de l'exigence | Moyenne |
| |
|---|
| Identification de l'exigence | RF4 |
| Nom des exigences | Création du plan budgétaire |
| Caractéristiques | L'utilisateur sera en mesure de créer un plan budgétaire pour chaque catégorie de revenus, de dépenses et d'épargne. |
| Description de l'exigence | L'utilisateur sera en mesure de créer un plan budgétaire pour chaque catégorie de revenus, de dépenses et d'épargne. |
| Exigence non fonctionnelle | RNF1, RNF2, RNF6, RNF7 |
| Priorité de l'exigence | Moyenne |
| |
|---|
| Identification de l'exigence | RF5 |
| Nom des exigences | Revenu du mouvement |
| Caractéristiques | L'utilisateur peut saisir ses mouvements financiers en fonction de chaque catégorie de revenus, de dépenses et d'épargne. |
| Description de l'exigence | L'utilisateur peut saisir ses mouvements financiers en fonction de chaque catégorie de revenus, de dépenses et d'épargne. |
| Exigence non fonctionnelle | RNF1, RNF2, RNF6, RNF7. |
| Priorité de l'exigence | Haut |
| |
|---|
| Identification de l'exigence | RF6 |
| Nom des exigences | Affichage de l'histoire du budget et des mouvements |
| Caractéristiques | L'utilisateur peut voir ses budgets passés. |
| Description de l'exigence | L'utilisateur pourra voir son budget des périodes précédentes (mois et année). |
| Exigence non fonctionnelle | RNF1, RNF2, RNF6, RNF7 |
| Priorité de l'exigence | Moyenne |
| |
|---|
| Identification de l'exigence | RF7 |
| Nom des exigences | Changement de mot de passe |
| Caractéristiques | L'utilisateur peut demander un changement de mot de passe. |
| Description de l'exigence | L'utilisateur peut demander un changement de mot de passe en fournissant votre utilisateur ou votre nom de messagerie. |
| Exigence non fonctionnelle | RNF1, RNF2, RNF6, RNF7 |
| Priorité de l'exigence | Faible |
Exigences non fonctionnales
| |
|---|
| Identification de l'exigence | RNF1 |
| Nom des exigences | Performance |
| Caractéristiques | Réponse immédiate et efficacité du traitement. |
| Description de l'exigence | L'application doit rapidement répondre aux entrées des utilisateurs et gérer efficacement le traitement des données. |
| Priorité de l'exigence | Haut |
| |
|---|
| Identification de l'exigence | RNF2 |
| Nom des exigences | Disponibilité |
| Caractéristiques | Accès constant et temps d'inactivité minimum. |
| Description de l'exigence | L'application doit être disponible pour une utilisation autant que possible, avec un temps d'inactivité minimum. |
| Priorité de l'exigence | Haut |
| |
|---|
| Identification de l'exigence | RNF3 |
| Nom des exigences | Convivialité |
| Caractéristiques | Intuitif et accessible à tous les utilisateurs. |
| Description de l'exigence | L'interface utilisateur doit être intuitive et facile à utiliser pour les personnes sans expérience antérieure avec l'application. |
| Priorité de l'exigence | Moyenne |
| |
|---|
| Identification de l'exigence | RNF4 |
| Nom des exigences | Compatibilité |
| Caractéristiques | Il fonctionne sur plusieurs appareils et systèmes. |
| Description de l'exigence | L'application doit être compatible avec plusieurs versions de systèmes d'exploitation mobiles, tels que Android et iOS, et s'adapter bien aux différentes tailles d'écran et résolutions. |
| Priorité de l'exigence | Haut |
| |
|---|
| Identification de l'exigence | RNF5 |
| Nom des exigences | Sécurité |
| Caractéristiques | Protection et chiffrement des données. |
| Description de l'exigence | L'application doit protéger les informations sensibles de l'utilisateur, garantissant que toutes les données transmises et stockées sont cryptées. |
| Priorité de l'exigence | Haut |
| |
|---|
| Identification de l'exigence | RNF6 |
| Nom des exigences | Évolutivité |
| Caractéristiques | Croissance efficace des utilisateurs et chargement de données. |
| Description de l'exigence | L'application doit être en mesure de gérer une augmentation du nombre d'utilisateurs et de la charge de traitement des données sans les performances de manière significative. |
| Priorité de l'exigence | Moyenne |
| |
|---|
| Identification de l'exigence | RNF7 |
| Nom des exigences | Maintenabilité |
| Caractéristiques | Code organisé et mis à jour facilement. |
| Description de l'exigence | Le code d'application doit être bien organisé et documenté pour faciliter les mises à jour et la maintenance par les développeurs. |
| Priorité de l'exigence | Faible |
| |
|---|
| Identification de l'exigence | RNF8 |
| Nom des exigences | Consommation de batterie |
| Caractéristiques | Efficacité énergétique et consommation optimisée. |
| Description de l'exigence | L'application doit être efficace en termes de consommation de batterie, en évitant un drainage excessif lorsqu'il est actif ou en arrière-plan. |
| Priorité de l'exigence | Moyenne |
| |
|---|
| Identification de l'exigence | RNF9 |
| Nom des exigences | Gestionnaire de base de données |
| Caractéristiques | Fiabilité et capacités avancées de gestion des données avec PostgreSQL. |
| Description de l'exigence | L'application utilisera PostgreSQL comme système de gestion de base de données. |
| Priorité de l'exigence | Haut |
| |
|---|
| Identification de l'exigence | RNF10 |
| Nom des exigences | Code de développement |
| Caractéristiques | Développement unifié et multiplateforme avec flottement. |
| Description de l'exigence | L'application utilisera Flutter comme cadre de code de développement. |
| Priorité de l'exigence | Haut |
Diagrammes
Diagramme relationnel

Légende de table:
- Type: fait référence aux 3 types de transactions. Le revenu, les dépenses et les économies.
- Catégorie: fait référence à la nature des revenus / dépenses / économies
- Type: Revenu - Catégorie: salaire, intérêts, paiement des frais ...
- Type: dépenses - Catégorie: transport, nourriture, services publics, santé, éducation, divertissement ...
- Type: Économies - Catégorie: maison, voiture, voyages, entrepreneuriat ...
- Explication: Par exemple, dans un dossier, le type peut être un revenu et la catégorie peut être un salaire
- Calendrier: Ce tableau sera composé de nombreuses dates et sera lié à un tableau de mois. Ceci est principalement pour faciliter la création de filtres dans l'application et l'attribution des dates à l'enregistrement dans la table du tracker.
- Mois: Table contenant chaque année avec un identifiant différent. Ce tableau facilitera la programmation des filtres.
- Année: Tableau contenant des années possibles dans un délai précis. Ce tableau facilitera la programmation des filtres.
- Budget: c'est le montant d'argent prévu pour chaque catégorie et mois (car il peut varier entre les mois). C'est un objectif, il ne sera pas nécessairement atteint.
- Inscription (suivi): Il s'agit du tableau principal, où tous les revenus, dépenses ou économies sont enregistrés, avec leur catégorie, leur dossier et leur date de détail respectifs.
- Utilisateur: C'est le tableau où les informations de l'utilisateur sont enregistrées, principalement leurs noms et noms de famille, en plus de leurs informations d'identification pour entrer leur compte de demande (e-mail et mot de passe).
Diagramme de cas d'utilisation

Diagramme de déploiement
