Skip to content

SacleuxBenoit/TeamMatching

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

TeamMatching

Codacy Badge

Avant toutes choses, qu'est-ce que TeamMatching ? C'est bien simple, TeamMatching est un projet (qui ne sera pas porté à terme) de fin de formation, qui a pour but de nous apprendre à travailler en équipe ainsi que développer, dans une plus grande autonomie, nos compétences techniques.

Sommaire

  1. L'idée principale du projet

  2. La mise en place

  3. Les besoins du client

  4. Organisation du travail d'équipe

  5. Les Technos

  6. English Part

L'idée principale du projet

Au tout début de cette aventure, il faut que vous sachiez qu'il était question de développer un système pouvant mettre en relation des joueurs et des guildes d'un seul jeu à la fois sur une plateforme web puis une application mobile à terme. Cependant cette idée ayant était bien implémenter dans le jeu lui-même, nous avons donc décidé d'englober plusieurs jeux dans notre projet et de ne pas développer l'application mobile.

La mise en place

Afin de développer un tel projet, il était indispensable de définir un cahier des charges exhaustif, nous permettant par la suite :

- De connaître les besoins à satisfaire du client
- D'organiser la charge de travail entre les membres de l'équipe
- De choisir les technos pouvant être utilisées.

Les besoins du client

Le client a besoin d'un site qui permet au chef de guilde de pouvoir poster une annonce pour qu'il puisse trouver des joueurs en fonction de ce qu'il recherche, le site devra donc permettre une mise en relation entre les joueurs et les chefs de guildes (postulation / message privée etc) Les joueurs auront la possibilité sur la page d'accueil de choisir entre 5 jeux (League of Legends, Trackmania2, Overwatch, Albion et Guild Wars2). Il sera redirigé en fonction du jeu qu'il a choisi vers la page du jeu en question, une fois sur cette page, le client souhaite que le joueur puisse directement voir les offres qui ont étaient ajoutés.

Organisation du travail d'équipe

Voici les 2 membres de l'équipe :

Et pour finir comment nous nous sommes organisé (en résumé) sur la conception de cette plateforme :

- La distribution des trois rôles (Product Owner, Chef de Projet, Tech Lead)
- La conception du cahier des charges, de notre UML Use Case ainsi que notre UML de Classe
- Le choix des Technos
- Le diagramme de notre base de données
- La conception de l'api, et de la base de données
- La conception du Front, ainsi que sa liaison avec notre Back

Nous détaillerons chaque tâche dans le README de chaque partie correspondante.

Les Technos

  • Git - Pour le versionning.
  • NodeJS - Node.js JavaScript runtime.
  • Express - Fast, unopinionated, minimalist web framework for node.
  • Sequelize - An easy-to-use multi SQL dialect ORM for Node.js.
  • Postgresql - Open source object-relational database system.
  • Bcrypt - Encoding Password.
  • JsonWebToken - Permet de donner une signature numérique.
  • Mocha - Javascript test framework for node.js & the browser.
  • NuxtJs - framework progressif Vue.js
  • Vuetify - Material Component Framework for Vue.

English part :

Teammatching

First of all, what is TeamMatching? it's very simple, TeamMatching is an end of training project (which will not be carried at term) which aims to learn how to work as a team as well as develop, with greater autonomy our technical skills.

Summary

  1. The main idea of the project

  2. The specification

  3. The client's needs

  4. Organization of the teamwork

  5. The Technos

  6. French Part

The main idea of the project

At the very beginning of this adventure you should know that it was a question of developing a system that can connect player and guilds for a single game on a web plateform then a mobile application . However, this idea having been implemented in game itself, so we decided to included several games in our project and not to develop the mobile application.

The specification

in order to develop a such project it was essential to define a specification allowing us to do :

- Know the needs to satisfy the client 
- Organize the worload between the members of the team
- choose the technos that can be used

The client's needs

The client needs a site that allows the guild leader to post an annonce so that he can find players according to what he is looking for, the site must therefore allow a connection between players and guild leaders (postulation / private message etc), The players will be abled to choose on the main page between 5 game (League of Legends, Trackmania2, Overwatch, Albion, and GuildWars2). He will be redirect depends on the game he choose, once on this page, the client want that the player can directly access to the offers who as been added.

Organization of the teamwork

Here are the 2 team members :

And finally how we organize ourselves (in summary) on the design of this plateform :

- The distribution of the three roles (Product Owner, Project Manager, Tech Lead).
- The design of the specifications of our UML use case and our Class UML.
- The choice of the technos.
- The diagram of our database.
- The design of our API, and the database.
- The design of the front, as well as its connection with our back.

We will detail each task in the README of each corresponding part.

The technos

  • Git - for versioning.
  • NodeJS - Node.js JavaScript runtime.
  • Express - Fast, unopinionated, minimalist web framework for node.
  • Sequelize - An easy-to-use multi SQL dialect ORM for Node.js.
  • Postgresql - Open source object-relational database system.
  • Bcrypt - Encoding Password.
  • JsonWebToken - Allows you to give a digital signature.
  • Mocha - Javascript test framework for node.js & the browser.
  • NuxtJs - framework progressive Vue.js
  • Vuetify - Material Component Framework for Vue.