1 changed files with 49 additions and 0 deletions
@ -0,0 +1,49 @@ |
|||
# 3RESIT Freetube |
|||
|
|||
## Sommaire |
|||
|
|||
1) Introduction au projet |
|||
2) Organisation |
|||
2) Les technologies utilisées |
|||
1) Le serveur |
|||
2) Le site web |
|||
3) La base de données |
|||
3) Le serveur |
|||
1) Les dépendances |
|||
2) Le fonctionnement |
|||
4) Le site web |
|||
1) Les dépendances |
|||
2) Le fonctionnement |
|||
5) La base de données |
|||
1) Diagramme des tables |
|||
6) Installation |
|||
1) Docker Compose |
|||
2) Script Shell |
|||
3) Manuelle |
|||
|
|||
## Introduction |
|||
|
|||
Pour ce projet il nous a été demandé de recréer une plateforme similaire a Youtube nommée Freetube. Cette application web devait être gratuite et sans publicités. Nous avions la main libre sur le choix de la pile technologique utilisée et sur l'organisation du projet. |
|||
|
|||
## Organisation |
|||
|
|||
J'ai commencé par faire un plan détaillés de toute les routes et vérifications a effectué pour chaque fonctionnalité, puis faire un plan de la base de données. Ceci allait définir toute la structure du projet. |
|||
|
|||
Pour ce qui est du développement, j'ai choisis de procéder fonctionnalité par fonctionnalité en commençant par le serveur et la base de données pour les intégrer ensuite dans le site web. Pour séparer toute ces parties j'ai utilisé **git** en créant plusieurs branches, une par fonctionnalité. |
|||
|
|||
## Les technologies utilisées |
|||
|
|||
### Le serveur |
|||
Le serveur utilise **NodeJS**, j'ai choisis ce langage car il permet d'implementer une **API REST** efficacement grâce a son système d'asynchronisation natif très performant. Etant créer a partir du **Javascript** il est aussi plus simple a comprendre et a écrire. Même si NodeJS n'est pas le plus connu en terme de rapidité d'éxecution ce n'est pas un problème dans notre situation car nous travaillons avec une **API** qui ajoutera un temps de latence supplémentaire. |
|||
|
|||
### Le site web |
|||
Le site web est programmé en **ReactJS** avec **Vite** ce qui donne un **backend** et un **frontend** dans le même langage ce qui permet une maintenance et des mises à jour plus simple. Tout comme NodeJS, ReactJS et créé a partir de Javascript, il bénéficie donc de la même intégration de l'asynchrone natif. Le système de **composant** de ReactJS permet aussi une gestion de mise à jour de l'interface en temps réel plus simple a mettre en place et évite la duplication de code. |
|||
|
|||
### La base données |
|||
La base de données et une base **PostgreSQL**, un système basé sur le langage SQL largement connu. PostgreSQL est une alternative **OpenSource** à **MySQL**. Il possède une très bonne intégration du **JSON** très utilisé comme moyen d'envoyer des données via **requête HTTP** utilisé dans les API REST. |
|||
|
|||
## Le serveur |
|||
|
|||
### Les dépendances |
|||
|
|||
Pour l'API REST j'ai choisis d'utiliser **ExpressJS** couplé avec **express-validator** |
|||
Loading…
Reference in new issue