OpenClassRooms - Projet 7 Groupomania đź’¬

Le projet consiste à construire un réseau social interne pour les employés de Groupomania. Le but de cet outil est de faciliter les interactions entre collègues.

Tâches

-Responsive Desktop & Tablette : âś…
-Compatible Chrome & Firefox : âś…
-Fonctionnalités simples à comprendre : ✅
-Complétion du profil courte et rapide : ✅
-Ajout d'une image de profil personnalisée : ✅
-Suppression du compte possible : âś…
-Forum ou poster des images et du texte : âś…
-Modification du text ou de l'image d'un post : âś…
-Possibilité de Like les publications : ✅
-Ajout d'un commentaire : âś…
-Modification et suppression des commentaires : âś…
-Dernières publications facilement accessibles : ✅
-Compte Administrateur pour pouvoir modéré les interactions : ✅
-Données et API sécurisées : ✅
-Utilisation d'un Framework Front-end (React) : âś…
-Standards WCAG respectés : ✅

Pré-requis

Installation

  • Clonez le repo sur votre ordinateur

Database

Lancer votre serveur MySQL

Puis importer la base de données que vous pouvez trouver ici :

backend/database_backup/groupomania.sql

Installation du Backend

Pour installer les dépendances

cd backend puis npm install

Créer un fichier .env dans le dossier config qui comportera :

  • PORT=(le port sur lequel vous souhaitez lancer votre serveur Node).
  • DBPASSWORD=(votre mot de passe).
  • DBHOST = localhost
  • DBUSER = (votre username).
  • JWT_SECRET=MyAwesomeSuperSecret

Ajouter dans server.js ligne 35 l'url sur lequel votre application react sera lancée.

exemple : origin ["http://localhost:5000","http://localhost:3000","http://localhost:3001","votre url localhost"]

Installation du Frontend

Pour installer les dépendances

cd frontend puis npm install

DĂ©marrage

  • Pour lancer l'API cd backend => npm start

  • Pour lancer l'Application React cd frontend => npm start

Technologies utilisées

base de données :

backend :

  • Node.js
  • Express - Infrastructure Web minimaliste, souple et rapide pour Node.js

frontend :

Compétences techniques :

  • HTML
  • CSS/SCSS
  • JS
  • API REST
  • REACT.JS
  • NODEJS/EXPRESS
  • AXIOS
  • MOMENT
  • BCRYPT
  • JWT
  • MYSQL