Ce projet est un exemple de message board basique, permettant aux utilisateurs de poster des messages dans des salons. Il est développé en PHP natif sans utilisation de frameworks, à l'exception des bibliothèques de test.
- Les utilisateurs peuvent être différenciés les uns des autres.
- Les utilisateurs peuvent poster des messages dans n'importe quel salon.
- Les utilisateurs ne peuvent pas poster deux messages consécutifs sauf si leur dernier message date de plus de 24 heures.
- Chaque message doit faire au minimum 2 caractères et au maximum 2048 caractères.
- N'importe qui peut créer un nouveau salon du moment qu'il n'y en ai pas déjà un avec le même nom.
- Les utilisateurs peuvent lire tous les messages de tous les salons, du plus récent au plus ancien.
- Clonez ce dépôt sur votre serveur local ou distant.
- Configurez votre serveur pour pointer vers le dossier du projet. (php -S localhost:8000 ./public/router.php)
Pour verifier si toute l'installation s'est bien déroulée
- http://localhost:8000/ Pour renseigner correctement le contenu de la requete utilisez le Multipart Form
POST http://localhost:8000/createuser
- username : string
POST http://localhost:8000/createroom
- room_name : string
POST http://localhost:8000/post-message
- user_id : int
- room_id : int
- message : string
GET http://localhost:8000/messages?room_id=0
- room_id : int
GET http://localhost:8000/rooms
GET http://localhost:8000/users
GET http://localhost:8000/user?id=0
- id : int GET http://localhost:8000/user?username=string
- username : string
GET http://localhost:8000/room?id=0
- id : int GET http://localhost:8000/room?room_name=string
ORM.php
: Contient la classe ORM qui gère la création des salons et des messages, ainsi que la récupération des messages par salon.User.php
: Contient la classe User qui représente un utilisateur du message board.Message.php
: Contient la classe Message qui représente un message posté par un utilisateur.Room.php
: Contient la classe Room qui représente un salon de discussion./tests
: Contient les tests PHPUnit.
Les tests unitaires et fonctionnels sont écrits avec PHPUnit et Behat. Pour exécuter les tests, suivez les instructions d'installation de PHPUnit et Behat dans le projet.
- Pour exécuter les tests unitaires avec PHPUnit, utilisez la commande suivante :
php vendor/phpunit.phar
- Pour exécuter les tests fonctionnels avec Behat, utilisez la commande suivante :
php vendor/behat.phar -c behat.yml
Ceci est un projet d'étude, aucune contribution n'est attendue.