Created a mobile application for my Project Oriented class.

Overview

Projet Scarla

image

C'est pour notre cours : Projet d'intégration avec Raouf Babari au semestre d'hiver 2021. Projet Scarla Le nom de notre projet d’intégration est “Projet Scarla”. Notre application s’appelle Scarla.

Description du projet

L’idée & L’utilité

Nous allons réaliser une application mobile (IOS, Android). Elle permettra aux utilisateurs de trouver des partenaires de jeu selon les critères choisis par les utilisateurs. L'application permet de créer un profil qui vous place dans plusieurs catégories de jeu et permet aux autres joueurs de vous trouver. Nous allons mettre en place plusieurs catégories de jeux comme par exemple Fps, Moba, MMORPG, etc.

image image image

Les utilisateurs pourront créer des groupes de jeu et inviter d'autres utilisateurs dans ces groupes. Les utilisateurs pourront aussi créer des groupes de jeu et inviter d'autres utilisateurs dans ces groupes. Nous donnerons à l'utilisateur la possibilité d'envoyer des messages en privé ou dans un groupe comme l'application Messenger pour Facebook. Nous pourrons également donner à l'utilisateur la possibilité d'afficher ses multiples tags de joueur, étant donné que la plupart d'entre nous utilisent différentes plateformes avec différents pseudos. Les joueurs ont également la possibilité d'afficher leurs accomplissements pour qu'ils soient vus par leurs amis ou d'autres personnes.

image image

Comme tout le monde, nous aimons personnaliser notre profil et contrôler notre vie, c'est pourquoi nous offrons à l'utilisateur la possibilité de personnaliser de nombreuses fonctions.

image image

Des cas d’utilisation

Un exemple de la façon dont un utilisateur est capable de publier un message et de le montrer à ses amis.

Alt Text

Un utilisateur peut créer des groupes et y ajouter ses amis.

Alt Text

Un utilisateur peut ajouter des amis.

Alt Text

Après avoir créé leur groupe, ils peuvent le modifier et ajouter des membres ou en supprimer, mais seul celui qui l'a créé peut le faire.

Alt Text image

Les joueurs ont la possibilité de choisir leur rang, de sorte que lorsque l'application essaie de trouver d'autres utilisateurs dans la même catégorie de jeux, elle peut leur montrer des joueurs ayant un niveau de compétences similaire.

Alt Text

À qui ça s’adresse

Il s'adresse à tous ceux qui essaient de se faire des amis ou qui cherchent quelqu'un à qui parler si leur intérêt commun est les jeux vidéo. Puisque nous donnons la possibilité à l'utilisateur d'envoyer des messages privés ou de groupe avec les joueurs donnés que l'application trouvera en utilisant l'algorithme qui placera l'utilisateur avec d'autres en utilisant leurs préférences communes.

Lien avec les autres matières

Un de nos coéquipiers suit un cours de design qui pourrait être très utile pour la conception de notre application. De plus, toutes les classes de programmation seront utiles pour nous tous. Cela nous a également préparés à la charge de travail, étant donné que toutes les autres matières nous donnent beaucoup de travaux ou de devoirs à faire à la maison.

Technologies

Git

Cette technologie nous permettra de garder notre projet à jour dans GitHub.

image

Android Studio

Nous utilisons Android studio pour écrire notre code. Il ressemble beaucoup à NetBeans, ce qui nous permet de coder dans un environnement familier.

Firebase Firestore

Avec la base de données en temps réel de Google, nous pourrons fournir une expérience utilisateur presque instantanée.

image image

FlutterFlow

À la base, nous voulions utiliser Adobe XD et Supernova Studio pour faire le design de notre application, mais ces programmes sont très compliqués à utiliser. Or, nous avons découvert une nouvelle application web nommée FlutterFlow permettant de générer du code Flutter à partir d’un système de drag-and-drop de widgets Flutter. Cette application sera très utile dans la conception de notre design.

Défis / difficultés

Comme il s'agit d'un projet ambitieux, nous sommes très désireux d'apprendre Flutter et le contenu de ce qui touche aux bases de données. Ce sera nouveau pour nous tous, et nous devrons donc relever différents défis et difficultés.

Lors de la réalisation du projet

Nous avons dû jouer avec Firebase et nous faire une idée de son bon fonctionnement. Nous avons dû trouver un algorithme qui devait faire correspondre les joueurs à leurs goûts. Certaines animations étaient difficiles à réaliser mais nous avons réussi. Il y avait un bug qui nous empêchait de voir les photos et les images envoyées par les utilisateurs sur notre téléphone.

Perspectives

Nous avons bien fait. L'algorithme pour faire correspondre les joueurs fonctionne bien. Le système de chat fonctionne également bien. Dans l'ensemble, nous ne semblons pas rencontrer de bogues majeurs. Si nous avions eu plus de temps, nous aurions pu travailler sur le logo et la propreté de l'application dans son ensemble. Sur différents téléphones, la sélection des jeux n'est pas tout à fait au centre et est un peu éloignée.

Conclusion

En conclusion, nous sommes fiers de notre projet. Nous avons tous donné le meilleur de nous-mêmes et nous avons tous travaillé très dur. Le produit final a l'air vraiment bon. Nous sommes heureux d'avoir réalisé ce projet car nous avons beaucoup appris et nous nous sommes beaucoup amusés. Nous remercions Raouf Babari d'avoir été notre professeur pour notre dernier semestre au CEGEP.

IMPORTANT :

Pour les projets avec intégration Firestore, vous devez d'abord exécuter les commandes suivantes pour vous assurer que le projet se compile :

flutter pub get
flutter packages pub run build_runner build --delete-conflicting-outputs#

Cette commande crée les fichiers générés qui parsent chaque Record de Firestore dans un objet de schéma.

You might also like...

Dart and Flutter sealed class generator and annotations, with match methods and other utilities. There is also super_enum compatible API.

Dart Sealed Class Generator Generate sealed class hierarchy for Dart and Flutter. Features Generate sealed class with abstract super type and data sub

Jan 2, 2023

package library for extended_image, extended_text and extended_text_field,provide common base class.

 package library for extended_image, extended_text and extended_text_field,provide common base class.

extended_image_library package library for extended_image extended_image A powerful official extension library of image, which support placeholder(loa

Dec 31, 2022

Dart Class Diagram Generator

Dart Class Diagram Generator

Dart Class Diagram Generator A small command line utility to generate a class (UML or similar) diagram from a Dart package. Examples Below is a UML di

Dec 29, 2022

Flutter Novel Webtoon create flutter beginner class from Dicoding

Flutter Novel Webtoon create flutter beginner class from Dicoding

novel_app This is my final project from create flutter beginner class from Dicoding. Screenshot Getting Started This project is a starting point for a

Mar 15, 2022

A JSON serialize class to convert 'to' and 'from' JSON format Enums, DateTime and any of your own classes.

A JSON serialize class to convert 'to' and 'from' JSON format Enums, DateTime and any of your own classes. Introduction Jsonize solves the problem of

Nov 17, 2022

An app made for CRs of the university to easily record the attendance of the class.

An app made for CRs of the university to easily record the attendance of the class.

Attendance Report Generator This Flutter application is developed to aid in taking the attendance of the students on your phone and generate the repor

Dec 6, 2022

Tinder-like class that allows dogs to pair with other dogs as play buddies and have fun(:

Paw-Tindr Tinder-like class that allows dogs to pair with other dogs as play buddies and have fun(: Setting Up Firebase Follow steps mentioned (here)[

Dec 15, 2022

A Flutter project created for test purposes based on the wallet settings screen of the polkadex mobile app.

polkadex_mobile_test A Flutter project created for test purposes based on the wallet settings screen of the polkadex mobile app. Getting Started This

Jan 10, 2022

Daily-Task-Manager a daily task manager application project created in flutter

Daily-Task-Manager a daily task manager application project created in flutter

This is a daily task manager application project created in flutter. Install this application on Android - Install from Play Store

May 10, 2022
Owner
null
Flutter shareable package of object-oriented classes for local caching of user data in json

json_cache Json Cache is an object-oriented package to serve as a layer on top of local storage packages - packages that persist data locally on the u

Dartoos 10 Dec 19, 2022
Object-oriented package for validating Flutter form fields.

formdator Contents Overview Getting Started List of Validators Categories Demo Application References Overview Form Validator — Formdator is a fully o

Dartoos 10 Oct 26, 2022
Snoozed, open source Flutter app. A focus oriented To-Do list with skippable tasks.

Snoozed: Skippable To Do list Download the App Apple App Store Google Play Store Video Tutorial YouTube video link Stack Front-end: Flutter Back-end:

Alexandro Heredia 9 Jan 5, 2023
An enterprise-class package of Flutter components for mobile applications.

Bruno 一套企业级移动端 Flutter 组件库 简体中文 | English ✨ 特性 提炼自企业级移动端产品的交互和视觉风格 开箱即用的高质量 Flutter 组件 提供满足业务差异的主题定制能力 设计工具赋能开发全链路 Demo 下载 适配 Flutter 版本 Bruno 版本 Flut

Ke Technologies 2.2k Jan 2, 2023
Project task from dicoding.com intermediate Flutter class

restaurant_app_project First project task from dicoding.com Intermediate Flutter class. Run these command before build: flutter pub get flutter pub ru

Kemal Idris 3 Nov 15, 2022
An application of learning outcomes from the Mastering Flutter 2.0 class: Building Travel and Aircraft Applications Buildwithangga

Airplane An application of learning outcomes from the Mastering Flutter 2.0 class: Building Travel and Aircraft Applications Buildwithangga ?? ScreenS

Qwerty 2 Aug 29, 2022
A Full-Featured Mobile Browser App (such as the Google Chrome mobile browser) created using Flutter and the features offered by the flutter_inappwebview plugin.

Flutter Browser App A Full-Featured Mobile Browser App (such as the Google Chrome mobile browser) created using Flutter and the features offered by th

Lorenzo Pichilli 270 Jan 2, 2023
This is a Flutter app which shows how to use the PageView Class in your Flutter App

page_view_class A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started

Shehzaan Mansuri 1 Oct 25, 2021
A class for parsing strings using a sequence of patterns.

This package exposes a StringScanner type that makes it easy to parse a string using a series of Patterns. For example: import 'dart:math' as math; i

Dart 51 Nov 8, 2022