# ChatApp-AL-NM

*Conception et Implementation d'un système de Clavardage. <br>
Collaborateurs : LARTIGUE Auriane (4IR-A2, alartigu@etud.insa-toulouse.fr) et MOUKHLIS Nabil (4IR-A1, moukhlis@etud.insa-toulouse.fr)*


## Conception
<p>
Ce dossier contient les différents diagrammes en format "png". <br>
    <ul>
        <li>Diagramme de cas d'utilisation</li>
        <li>Diagramme de classe (MVC)</li>
        <li>Diagramme de séquence </li>
        <li>Diagramme de Structure Composite</li>
        <li>Diagramme de Machine à Etats</li>
    </ul>
</p>

## Implémentation
<p>
Nous avons quatre package distincts regroupant nos différentes classes. <br>
    <ul>
        <li>Controller : Contient la classe "chatApp" qui permet que chaque connexion et chaque session soient entamées. Intermédiaire entre les classes de Model et celles de View.</li>
        <li>Model : Contient les classes utilisées/traitées par le contrôleur, dont la base de données.</li>
        <li>Protocol : Contient les classes permettant les communications en UDP et TCP.  </li>
        <li>View : Contient les classes constituant l'interface graphique.</li>
    </ul>
</p>

## Javadoc
<p>
    Des commentaires étant présents dans le code source de notre application, nous avons généré la documentation dans ce dossier.
</p>

## Rapport
<p>
  Dossier comprenant deux rapports :
  <ul>
      <li> Le rapport de la conception avec des explications des différents diagrammes.</li>
      <li> Le rapport de l'implémentation avec des explications sur le code et l'utilisation de l'application.</li>
  </ul>
</p>

## Server de présence
<p>
  Le code du server de présence, celui-ci faisant office de proxy.
</p>

## Techologies Utilisées
<p>
    <ul>
        <li>JAVAFX </li>
        <li>JAVA</li>
        <li>GRADLE</li>
    </ul>
</p>
