ZONNY - Projet arrêté

Le problème exposé dans ce sujet a été résolu.

C’est bien le cas. Pour répondre à ton autre question, je ne vois pas trop de raisons d’en mettre, non. Mais je ne suis pas sûr non plus de comprendre pourquoi tu limites les événements à 24 h, sinon que c’est peut-être un peu plus compliqué à gérer pour l’affichage. :p

C’est en rapport avec la philosophie de l’application (je sais pas si on peut parler de philosophie mais bon !). ZONNY c’est L'application d'évènements instantanés et éphémères. Ces notions impliquent qu’il s’agit d’évènements spontanés et de durées limitées. Mais ces contraintes n’ont pas été mises par hasard, c’est par rapport au marché actuel. Pour des évènements planifiés dans le temps et bien mûris il existe déjà beaucoup trop de solutions. Et des solutions qui fonctionnent. Facebook Events est le plus connu pour la tranche d’âge des 15-25 ans. Mais il y en a beaucoup d’autres (de solutions existantes). Nous n’aurions aucun intérêt à vouloir concurrencer ces solutions. C’est pourquoi ZONNY se place sur un créneau spécifique pour lequel aucune solution adaptée existe.

Et coup de chance, c’est plus pratique pour l’affichage !

+0 -0

Bonjour tout le monde !

Aujourd’hui, petit message pour rechercher parmi les ZdSavoriens (ça se dit non ? :p ) un développeur iOS motivé. On est à un stade où la version iOS doit impérativement commencer et l’équipe actuelle a déjà trop de boulot…

Ainsi, si vous êtes motivés pour participer à ce projet et avez des compétences pour coder une application iOS (Swift de préférence mais pourquoi pas en Objective-C), n’hésitez pas à répondre à ce topic ou m’envoyer un MP !

L’équipe de ZONNY vous accueille les bras ouverts. On est sympa en plus ! Nous travaillons avec Git, Slack et Asana. Nous sommes une équipe motivée et passionnée par ce projet. Nous travaillons sur notre temps libre qui peut malheureusement fluctuer en fonction des jours et semaines de l’année (ce qui peut expliquer des périodes de "silences" ou des semaines avec un nombre d’avancées considérables !). Nous vous demandons simplement avant de postuler de vous faire une idée plus ou moins précise du projet. Vous pourrez bien évidement apporter vos idées et critiques au projet mais pas remettre en cause entièrement celui-ci. Connaître l’idée générale du projet évitera par exemple de proposer de faire un site internet plutôt qu’une application native ! Cela évitera aussi qu’au bout de quelques jours que vous partiez de l’équipe car finalement vous n’aviez pas bien compris le projet.

Vous ne devez pas forcément être un PRO. Le but de ce projet est également d’apprendre ! Cependant, vous devrez quand même avoir des connaissances de bases en POO (Programmation Orientée Objets), être capable d’utiliser des API externes après avoir pris le temps de lire les documentations associées (Facebook Login, Google Maps) et surtout être débrouillard et capable de développer la version iOS seul (après on est une équipe donc on s’entraide hein :p ).

Concernant la rémunération, vous vous douterez qu’on ne peut vous proposer une rémunération mensuelle. Celle-ci sera un pourcentage sur les bénéfices de l’application (nous ne voyons pas d’autres moyens viables et censés de rémunérer ce poste). Mais pour être honnête, le business plan de l’application ne prévoit pas de dégager de bénéfices rapidement. Les revenus, s’il y en a, serviront à payer les besoins du service (serveur demandant plus de capacité, nom de domaine, licence Apple Store annuelle) et à financer la communication autour de l’application. (Actuellement, les frais liés à l’application : VPS, nom de domaine, licence Play Store; ont été avancés par un membre de l’équipe.)

Il s’agirait donc principalement de s’investir dans ce projet pour apprendre, travailler en groupe et essayer de produire une application de qualité. Et pourquoi pas mettre sur votre CV cette expérience ci cette dernière est assez aboutie !


Pourquoi ce projet réussirai ? En quoi se démarque-t-il ?
  • Tout d’abord, ZONNY vise une tranche d’âge bien précise : les 15-25 ans. Il y a pleins de critères qui peuvent expliquer le choix de cette tranche d’âge. Premièrement, c’est une tranche qui sort particulièrement beaucoup par rapport aux autres. Les étudiants sont bien connus pour avoir une vie sociale très active. (On ne dit pas que les autres tranches d’âges n’en n’ont pas hein !). Également, c’est un segment qui est très connecté. Statistiquement, plus de 97% de ce segment possède un smartphone en France (INSEE). Bien que les autres tranches d’âges deviennent de plus en plus connectées, elles le restent encore moins que les 15-25.

  • Le type d’événement crée par cette application est particulier. Il ne s’agit pas d’un événement planifié longtemps à l’avance. Il s’agit d’un événement spontané qui doit commencer dans les 24h qui suivent et qui doit durer maximum 24h. Il s’agit d’évènements du quotidien uniquement.

  • Chaque événement a son chat avec uniquement les participants. La catégorie d’âge visée (les 15-25 ans) pour les événements spontanés ont tous remontés dans un de nos sondages qu’ils utilisaient des applications de chat instantanées comme WhatsApp ou Facebook Messenger pour organiser ce type d’événement. Cependant, beaucoup admettent que ce moyen n’est pas adapté pour créer un événement spontané en groupe. Je vous laisse imaginer pourquoi !

  • Il y a pleins d’autres éléments qui permettent à ZONNY de se démarquer et d’innover (des fonctionnalités pratiques, des moyens de fidéliser l’utilisateur ou de l’encourager à créer du contenu etc). Une partie est citée dans les précédents posts.


Vous êtes perdu avec tous les précédents messages ? Voici un recap’ de où ZONNY en est !
  • L’API est entièrement terminée. Pour les non-initiés, il s’agit de la partie serveur qui est chargée de centraliser les données entre les différents utilisateurs. C’est le cerveau du projet en quelque sorte. Elle est codée avec Slim en PHP. À force d’ajouter des idées au projet, celle-ci a commencé à devenir un peu mal organisée niveau code. On l’a donc entièrement reprise et bien mieux architecturée la semaine dernière. Elle est donc entièrement fonctionnelle et pensée pour facilement évoluer (inscription par d’autres moyens, nouvelles fonctionnalités …). Pour le moment, seule la documentation de l’ancienne version est disponible ici https://zonny.me/docs (car la documentation de la nouvelle version est automatiquement générée à partir du code, et que cette nouvelle version n’est pas encore en ligne).

  • La partie Chat du serveur est commencée. Bien qu’il s’agisse de la partie de l’API, nous la considérons à part car elle communique avec le protocole XMPP. Cette partie est également gérée en PHP. Tout le protocole de communication est mis en place. Il reste encore à gérer les différentes actions liées à un chat.

  • L’application Android est très bien commencée. Une alpha ouverte peut-être trouvée ici. Il lui manque encore beaucoup de fonctionnalités et le code doit être entièrement revu (n’allez pas voir le code il est dégueulasse :-° , c’était mes premières lignes en Java, le projet a beaucoup été remanié etc!). La révision de l’architecture de son code (pour un modèle MVC et une utilisation plus poussée de la POO) est d’ailleurs le sujet des prochains jours !

  • La Landing Page de l’application visible à l’adresse https://zonny.me . Elle contient également tous les documents légaux comme les CGU, Mentions Légales, Politique de confidentialité (avec déclaration à la CNIL) ou encore les Crédits. Il s’agit simplement d’un thème libre de droit adapté.


Si vous ne postulez pas, connaissez-vous tout de même un site sur lequel nous serions susceptibles de trouver des développeurs intéressés ?

Si vous ne postulez pas, pouvez-vous s’il vous plait nous dire ce qui vous pousse à ne pas postuler : le manque de temps, pas les compétences requises, projet pas intéressant, celui qui écrit les posts semble insupportable …

Merci d’avance pour vos commentaires :)

Bonjour !

ZONNY continue d’évoluer.

Pour commencer nous avons crée un Discord pour plus facilement discuter avec les personnes intéressés : https://discord.gg/P3szxKG (il n’y a pas encore toute l’équipe mais ils arrivent!) N’hésitez pas à y faire un tour pour dire bonjour ! Je ne sais pas s’il y aura beaucoup de monde sur ce Discord, mais si quelqu’un est intéressé pour le gérer en tant qu’Admin qu’il n’hésite pas à nous le dire !

On a crée des repos publics sur Github (pour les non-initiés, il s’agit d’un dossier de travail partagé). Ainsi, chaque personne ayant un peu de temps peut contribuer à ZONNY ! Enfin, si vous souhaitez hein :lol: Chaque contributeur aura son nom ou pseudo s’il le souhaite sur une page de contributeurs dans l’application.

Comme expliqué dans de précédents posts, nous utilisions Asana pour gérer l’avancement des différents supports (site web, application Android..). Le problème est qu’on ne peut pas rendre ce tableau public. Ce n’est pas par faute de volonté mais juste que la fonctionnalité n’existe pas. Pour remplacer Asana on a donc opté pour les tableaux par défaut de Github. J’ai commencé à mettre des issues (tâches à réaliser en gros) pour l’API par exemple https://github.com/baudev/ZONNY_API/boards?= Il faudra peut-être revoir les colonnes et leurs noms.

Exemple de tableau public maintenant. Il y a un tableau par repository

Chaque personne qui le souhaite peut contribuer à ZONNY ! Nous allons mettre en place prochainement des espaces pour travailler sur la communication (vidéos, images, articles etc). Il peut aussi simplement s’agir de donner son avis sur l’aspect du site web, de l’application…

En espérant que certains seront intéressés !

+2 -0

Bonjour tout le monde, quelques petites nouvelles concernant ZONNY !

Le serveur Discord compte actuellement 10 membres. Tout le monde donne son avis, ses suggestions et certains contribuent même au développement de l’application :waw: Après, c’est vrai que rien ne vous empêche - et ne vous a empêché - de le faire depuis ce topic…

À partir de tous les feedbacks sur l’application Android (vous avez été nombreux, un grand MERCI !), nous avons listés les fonctionnalités à ajouter/modifier/supprimer. Nous avons donc pu écrire un fichier listant les fonctionnalités prévues pour la v0.2.1 ! Le fichier se trouve à l’adresse : https://docs.google.com/document/d/1JPe2BF7aNTzbscrgCtJcwjeE9AC83kI1-AxE4EADEQk/edit?usp=sharing

N’hésitez pas à répondre aux commentaires et à en ajouter. C’est l’objectif et même pourquoi nous avons utilisé Google Docs.

Les grands points traités dans cette version seront :

  • Ajouts de nouveaux modes d’inscription/connexion
  • Ajout d’un système de gestion de suggestions d’événements (plus d’infos ici : )
  • Système de cache pour un affichage hors ligne Nous avons également défini et commencé à mettre en place les architectures de l’application iOS et Android (et oui… On reprend entièrement l’application Android pour la v0.2!)

Ainsi pour l’application iOS, l’architecture utilisée sera la Apple’s MVC :

Architecture Apple’s MVC

Et pour l’application Android il s’agira de l’architecture MVVM :

Architecture MVVM

Ha aussi… Il y a eu quelques petites modifications discrètes sur le site ;) https://zonny.me

+0 -0

Suite à vos retours sur l’application, nous continuons de revoir l’application et ses fonctionnalités. Nous avons retravaillé la base de données (normalement il ne manque rien :-° ).

Base de données de la v0.2.1

Voici les grandes modifications :

  • Ajout de nouveaux moyens de connexion. Vous pouvez voir dans la table members qu’il y aura la possibilité de se connecter via son numéro de téléphone, email, Facebook ou encore anonymement pour essayer l’application.
  • Possibilité maintenant d’ajouter des amis via leur pseudo et des liens d’invitation. La table phone_numbers contiendra les numéros importés par les utilisateurs souhaitant ajouter des amis grâce à leurs contacts. Il y aura toujours la possibilité d’utiliser sa liste d’amis Facebook.
  • Suppression des évènements Facebook et Lieux Google Maps.
  • Possibilité de s’abonner au contenu public d’un utilisateur (table subscriptions. Plus de détails sur le fichier Fonctionnalités dans la partie 1.8 - Page de profil).
  • Ajout des tables liées au chat (celles en vert).
  • Ajout des suggestions d’évènements. (Plus de détails sur le fichier Fonctionnalités dans la partie 3 - Page de profil).

La présentation du topic a été également mise à jour pour préciser que les repos étaient maintenant publics (lien) et que l’équipe avait maintenant un Discord.

+0 -0

ZONNY avance doucement mais avance toujours !

  • Mise en place de l’ORM Doctrine. Pour ceux qui ne connaissent pas les avantages d’un ORM allez ici !
  • Les modèles ont été réalisés (différentes entités présentent dans la base de données) Les relations entre les modèles également (le fait qu’un message appartienne à un utilisateur par exemple)

Concernant l’application Android, toutes les dépendances ont été mises à jour ainsi que le targetSdk. Cela provoque pas mal de problèmes lors des builds. C’est maintenant corrigé !

On s’est également penché sur Firebase Auth. Firebase propose gentiment une UI toute faite sur Android et iOS :waw: C’est un gain de temps énorme pour l’équipe. Voici un screen de ce qui est proposé :

Firebase Auth UI

Il ne reste plus qu’à la mettre en place !

On s’attaque actuellement aux tests unitaires des modèles de l’API (la moitié est déjà fait).

On commence également à remplir les repositories d’issues sur lesquels n’importe qui peut contribuer. D’ailleurs, si certains ont des petites connaissances en réseaux, n’hésitez pas à nous dire ce que vous pensez de cette issue (merci d’avance :p) !

Sinon le Discord commence a compter de plus en plus de membres et de contributeurs ! Comme promis, les contributeurs et les testeurs verront leurs noms dans un espace dédié de l’application.

N’hésitez pas à nous dire ce qui vous passe par la tête ! Et bon codage à tous ;)

Ça continue toujours !

Le travail des derniers et prochains jours portent sur l’API. L’utilisation de Doctrine demande pas mal de modifications sur la v0.2. Mais il est évident qu’il s’agira d’un gain de temps considérable par la suite. Une fois que l’intégration de Doctrine sera terminée, l’API sera fonctionnelle avec les comptes, les évènements. Il manquera cependant les routes liées au chat et aux suggestions d’évènements.

Des tests unitaires sur les modèles ont été mis en place. Ils ont permis de corriger pas mal de petits bugs de relations entre les objets. Comme quoi, c’est long à faire mais pratique ! Il s’agit encore de tests très basiques : https://github.com/baudev/ZONNY_API/tree/dev/UnitTest Ce qui explique le taux de couverture de 29 % :honte:

Il a eu quelques modifications sur le repository de l’API. Il devient en anglais. Il faudra le faire pour les autres repositories également… Il y a également l’ajout du GitLab CI et de la couverture du code.

  • Pour les non-connaisseurs, le GitLab CI permet de réaliser avec Docker les tests d’intégration. Par exemple, si quelqu’un propose une Merge Request (modification/ajout/suppression de code) alors les tests unitaires sont lancés automatiquement. Cela permet de vérifier que la proposition de code fonctionne (ou alors qu’il faut revoir les tests unitaires…). Si vous voulez voir un exemple : https://gitlab.com/baudev/ZONNY_API/-/jobs/74166387

  • Pour le couverture du code (ou coverage), je vous laisse voir la définition sur Wikipédia https://fr.wikipedia.org/wiki/Couverture_de_code (ok, j’aurais pu trouver mieux comme source :-° )

Les badges ci-dessous indiquent ainsi respectivement :

  • La version actuelle de l’API ;
  • Le résultat des tests unitaires (sur la branche dev). Cela peut-être running (quand ils sont en cours), failed ou passed.
  • Le taux de couverture. On va essayer de l’augmenter un peu :p
  • L’état de la documentation Swagger. Actuellement, cela montre qu’il y a des problèmes de syntaxes sur celle-ci. Cela n’empêche tout de même pas de l’utiliser.

ZONNY VERSION ZONNY VERSION Build Status Coverage Status swagger validator

+0 -0

Wah ça fait longtemps qu’on a pas publié ici! Non mais ça va pas du tout ça :p

On doit admettre qu’il y a eu une baisse de cadence concernant le projet. Les beaux jours arrivants, c’est difficile de rester devant un ordinateur… Le projet continue d’avancer doucement tout de même.

On a développé un framework : Firebase Cloud Messaging XMPP en PHP. Il s’agit d’un framework qui permettra de connecter le serveur de ZONNY à celui de Google Firebase en utilisant le protocole XMPP. Le framework est utilisable par n’importe qui (pourquoi faire quelque chose uniquement pour ZONNY ?) et est sous la licence MIT.

  • Pourquoi le XMPP ? Le protocole XMPP a de nombreux avantages comme le fait d’être bidirectionnelle mais surtout celui d’établir une connexion avec une latence très faible. On pourra donc grâce à cette connexion gérer les messages des conversations (chats) et permettre à l’utilisateur d’envoyer des messages instantanément.

  • Pourquoi Firebase ? Car ZONNY réutilisera la connexion déjà existante entre le smartphone de l’utilisateur et le serveur de Google Firebase (il y a une faible probabilité que cette connexion n’existe pas). On évite alors de créer une connexion en parallèle et de consommer davantage de batterie.

Si vous voulez plus de détails en schémas allez sur le GitHub du framework https://github.com/baudev/Firebase-Cloud-Messaging-FCM-XMPP

GitHub release PHP MINIMUM VERSION LICENSE

On a également activé le support de HTTP/2 sur le serveur. Qu’est-ce que cela change ?

  • Réalisation du handshake entre le serveur et le client plus rapidement et en consommant moins de ressources. Pour les non connaisseurs, il s’agit de l’établissement de la connexion chiffrée par le HTTPS ;

  • Meilleure compression des données échangées ;

  • Chargement plus rapide des images, JS et CSS sur le site de présentation: https://zonny.me Ce point n’est pas encore mis en place à l’heure où j’écris ce message. Vous pouvez y contribuer: https://github.com/baudev/ZONNY_WEBSITE/issues/2

Aujourd’hui, je vous annonce la fin subite du projet ZONNY. C’est avec beaucoup de tristesse que je le fais.

Avant tout, vous devez savoir qu’il s’agit d’un choix de raison et qu’elle n’est pas été prise par démotivation ou désintéressement. En effet, si je le pouvais et si j’avais les moyens je continuerai. Je suis convaincu des bienfaits et du succès d’une application comme celle-ci. Cependant, il y a un moment où, face au manque de temps et à la quantité de travail restante, on doit poser les choses à plat, raisonner et mettre sa passion de côté. C’est malheureusement ce moment précis qui m’a poussé à prendre cette décision et qui me contraint aujourd’hui à vous annoncer cette nouvelle.

C’est donc la fin.

Je l’ai annoncée il y a plusieurs jours sur Discord et par MP à certains membres qui suivaient le projet de près. Vous avez été beaucoup à m’encourager et cela jusqu’à la dernière minute (pas plus tard que y’a 30 secondes même!). Merci beaucoup :)

Ce projet n’est pas un échec. Au contraire. J’ai beaucoup appris grâce à lui. La liste est très longue:

  • Utiliser Git
  • Apprendre le Java et plus particulièrement le monde d’Android
  • Apprendre le Swift et le domaine d’iOS
  • Une compréhension plus en détails de la programmation orientée objets
  • La puissance de l’intégration continue
  • Utiliser Docker (cela rejoint beaucoup le point précédent)
  • Les aspects légaux liées à une application (mentions légales, CGU, Politique de confidentialité, RGPD, déclaration à la CNIL..)
  • Des connaissances dans certains protocoles de communications comme le XMPP, HTTP/2 vs HTTP/1.1, WebSocket
  • Des notions d’UI (Mockups, Material Design…)
  • Des notions de gestion de projets (communication, recherche d’outils de gestion comme Asana…)
  • Comprendre la puissance/utilité d’un ORM
  • Voir les avantages et inconvénients du SGBD PostGreSQL par rapport à MySQL
  • … C’est sans fin !

J’aurai aimé écrire plusieurs pages à propos de ce que j’ai appris grâce à cette longue expérience. Mais cela demande beaucoup de temps de produire un rapport de qualité. Je ne suis donc pas sûr de le faire. Néanmoins, je souhaite vraiment partager ce que j’ai appris de ce projet pour que vous ne commettiez pas les mêmes erreurs. Alors n’hésitez pas à me poser des questions ici ou par MP si vous en avez !

Je n’ai pas non plus le savoir ultime hein :D

Yop,

J’arrive quand ce projet est terminé. Dommage, ça avait l’air de bien avancer ^^. Cependant, si tu passes encore sur le forum, j’aimerais bien connaitre ton logiciel de modélisation BDD stp ? Ca a l’air carrément plus joli que ce que j’utilise actuellement. A moins que ce soit généré par ton IDE ?

Merci et bonne continuation pour tes autres projets.

L’application est-elle fonctionnelle à ce jour? C’est peut-être un peu con, mais est-ce que toutes les mécaniques principales sont opérationnelles et utilisables?

Jay

Une alpha était fonctionnelle. Elle l’est encore partiellement pour quelques jours… Nous avions prévus la chose de la façon suivante :

  • Alpha Android sans messagerie et fonctionnalités limitées. Pas de pub, seulement quelques testeurs que l’on connait.
  • Écoute des testeurs. Synthétiser les remarques, prendre en compte celles pertinentes.
  • Mettre à jour l’API (stade actuel)
  • Mettre à jour l’application Android. Commencé
  • Développer l’application iOS. Commencé

Yop,

J’arrive quand ce projet est terminé. Dommage, ça avait l’air de bien avancer ^^. Cependant, si tu passes encore sur le forum, j’aimerais bien connaitre ton logiciel de modélisation BDD stp ? Ca a l’air carrément plus joli que ce que j’utilise actuellement. A moins que ce soit généré par ton IDE ?

Merci et bonne continuation pour tes autres projets.

loic

Merci pour ces gentilles remarques !

Concernant les rendus de la base de données, j’utilisais https://www.dbdesigner.net En effet c’est pratique pour voir les choses. Ça peut paraître débile mais ça permet de facilement se rendre compte d’oublis, d’erreurs etc. On peut même exporter au format SQL les schémas (même si parfois il faut revoir le .sql à la main de temps en temps).

Cependant, utilisant Doctrine par la suite, cela est devenu contraignant. Car il fallait le faire une première fois sur le site dbdesigner, le faire avec les annotations de Doctrine et c’était enfin bon… Cela devient alors plus simple d’utiliser simplement l’IDE ou d’autres solutions directement connectées à ta base de données ;)

Bon courage pour tes projets également !

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte