Missive est une application de messagerie sécurisée, basée sur le protocole Signal. Elle permet d'échanger des messages chiffrés de bout-en-bout avec différents utilisateurs. Elle a été réalisée dans le cadre du travail de diplôme de technicien ES en développement d'applications au CFPT informatique de Genève, promotion 2024.
Vous pouvez retrouver la documentation complète de l'application sur cette page. Elle comprend une explication du fonctionnement, des choix techniques, des cas d'utilisation, ainsi que l'intégralité de mon journal de bord durant le développement de l'application.
- Node.js (version 21.7.2 ou supérieure)
- Flutter (version 3.19.3 ou supérieure)
- Docker (version 26.0.0 ou supérieure)
Les procédures d'installation de la partie serveur et client sont détaillées dans un README.md
présent dans leur dossier respectif.
Un docker-compose est disponible à la racine du projet, et permet de déployer l'application sur un serveur cloud, ou alors de lancer un déploiement local.
docker compose -f docker-compose.yml -f docker-compose.prod.yml up -d
docker compose -f docker-compose.yml -f docker-compose.dev.yml up -d
Le projet est découpé en multiples sous dossiers et sous dépôts :
documentation
: contient le code source de la documentation de l'application (réalisée grâce à MKDocs)server
: contient le code source du serveur (comprend l'API REST et le serveur WebSocket)client
: contient le code source du client (application mobile réalisée en Flutter)poc
: contient le code source du Proof of Concept (application réalisée durant le cadre du travail de semestre, afin de pouvoir tester les fonctionnalités d'authentification)
Il contient également un docker-compose.yml
, qui permet le déploiement du serveur de l'application sur le cloud.
De plus, différents workspaces VSCode sont disponibles afin d'aider au développement si vous utilisez cet éditeur.