Iswenzz / Simplon-Touiteur

Simplon PHP

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Simplon Touiteur

Contexte du projet

Le site est composé de Membres, qui peuvent s'inscrire et se connecter. Un email valide est nécessaire.

Les membres ont des followers, qui sont eux mêmes des membres du site. Les membres peuvent poster des messages (< 140 caractères). Un message peut contenir du texte mais aussi une image, une vidéo ou un fichier audio. Chaque message peut être liké par les membres. Un compteur affichera le nombre de like. Un message doit pouvoir être renvoyé par un autre Membre (notion de retweet).

Un compteur affichera le nombre de retweet. Chaque message peut avoir des Commentaires. Ces commentaires sont créés par des Membres. Les commentaires ne peuvent être que du texte. Les messages sont publics, les personnes non-membres peuvent les voir mais ne peuvent pas interagir avec (like, retweet, commentaire …) Chaque message disposera d’une URL unique permettant de le visualiser, ainsi que ses commentaires.

Cette URL doit être facilement partageable Chaque message peut contenir 1 ou plusieurs Hashtags (mot dièses). Un hashtag peut être dans 1 ou plusieurs messages. Les Hashtags sont représentés par un # Chaque message peut contenir 1 ou plusieurs Mentions à d'autres Membres. Une Mention peut être dans 1 ou plusieurs messages. Les Mentions sont représentées par un @ On doit avoir une page qui permet d'afficher tous les Messages des Membres que l’on suit. Il doit y avoir une page qui permet de voir le profil d'un Membre. Dans cette page on voit que les Messages de cet utilisateur.

Les profils des membres sont publics mais les non-membres ne peuvent pas interagir avec le profil. On peut cliquer sur les @mentions, qui nous amène directement à la page du profil de l'utilisateur mentionné. On peut cliquer sur les #Hashtags, qui nous amène sur une page contenant tous les messages avec cet #Hashtag.

Contraintes techniques

  • Vous devrez réaliser le backend de ce projet avec le Framework Symfony.
  • Tout le backend devra s’organiser en API de type REST. Aucune obligation pour les technologies front.
  • Vous avez le choix en terme de framework CSS / JS (jQuery, Bootstrap, etc…). Vous devez créer la maquette de votre site.
  • La couleur principale du site vous est donné (couleur du groupe).
  • Vous devrez mettre l’accent sur le responsive design (80% d’utilisateurs mobiles)
  • Vous devrez intégrer une interface back-office, pour la gestion des données. Ce back-office devra contenir une page de statistiques : nombre total de membres, nombres de messages etc ...
  • Votre projet doit avoir des tests unitaires et fonctionnels. Une couverture de code d’au moins 50% vous ai demandé. Contraintes organisationnelles

**Ce projet sera réalisé en groupe de 4 personnes. **

Vous devez suivre la méthodologie Agile pour l’organisation de votre projet.

A vous de définir les rôles de chacun, la taille des sprints (au minimum 4), les user stories, le backlog etc …

Vous pouvez aussi choisir les outils nécessaires à cette organisation. Les formateurs jouent le rôle de client / Product Owner. Ils pourront vous demandez d’ajouter des fonctionnalités ou d’en accélérer d’autres. C’est à eux que vous devez poser des questions sur les fonctionnalités demandées.

Ce projet sera celui que vous allez présenter lors de votre certification Agilité. Veuillez à bien conserver tous les documents concernant la mise en place d’une telle organisation (qui, quand, comment, pourquoi) Le projet est à rendre sur Gitlab ainsi que sur Simplonline.

La deadline finale est fixée au vendredi 6 novembre 2020 à 17h30. Vous aurez toutes les journées (matin ET après-midi) pour travailler sur ce projet.

Une présentation complète de ce projet sera fait à l’ensemble de la promo.

Installation

Usage

The first step in our app is to register and log in with an active email and password, now you have an account so you can search for friends and do 'add friend' and wait to accept the request, after this step now you can see all your friends tweets and you can like, dislike and share.

TODO

  • DB
    • Counter variables on Tweet -> like, retweet, comments
    • Counter variables on User -> following, followers
    • User role (UNTESTED)
  • App
    • React Framer Animations (OPTIONAL)
    • Footer
    • Fix unauth users can still access to the app sometime and cause 401 err
    • Fix Main container API recalls on page change
  • Profile
    • Media tab
    • Update profile infos
    • Upload/Delete medias
    • Follow -> container to /following/:id /follower/:id
  • TweetPage
    • Share modal -> clipboard page link/api link
    • Like -> container to /like/:id
    • Retweet -> container to /retweet/:id
    • User's avatar on the reply modal
  • Tweet
    • Hashtag
    • Mention
  • HashtagPage
    • Fetch all tweet with this hashtag
  • AdminPage
    • Front/Back check user role == ADMIN
    • Fetch all data /tweets /comments /users /followings /followers /hashtags /medias /likes /retweets
    • Data charts
  • Testing
    • Jest/Enzyme react app tests
    • PHPUnit Controllers/Misc
  • Fixtures
    • Fix the duplicates error when trying to get random references

Contributing

  • Fork the Project
  • Create your Feature Branch (git checkout -b feature/AmazingFeature)
  • Commit your Changes (git commit -m 'Add some AmazingFeature')
  • Push to the Branch (git push origin feature/AmazingFeature)
  • Open a Pull Request

Built With

  • PHP7
  • Symfony
  • React
  • Material-UI
  • Javascript
  • SASS
  • MariaDB

Authors

  • Déborrah Brunier
  • Estefania Vila
  • Majdeddine ALHAFEZ
  • Alexis Nardiello
  • Hayette Lachhab

About

Simplon PHP

License:GNU General Public License v3.0


Languages

Language:PHP 63.7%Language:JavaScript 32.2%Language:SCSS 3.4%Language:HTML 0.5%Language:Twig 0.1%