Cette application a été développée dans le cadre d'un test de connaisances pour le métier de développeur Web Full Stack chez Klaxoon.
- Client : React.js (React Router) / Bootstrap / Font Awesome
- API : Symfony v4.4.1 / API Platform v2.5.3 / Doctrine v2.0.2
- Dans le dossier du client (bookmark-manager-client) lancez cette commande :
yarn install
- Créez un nouveau fichier ".env.local" à la racine du dossier et ajoutez ces lignes : REACT_APP_API_ENTRYPOINT=http://localhost:8000/ REACT_APP_ENTRYPOINT=http://localhost:3000 PORT=3000
- Lancez cette commande pour démarrer l'application
yarn start
- Dans le dossier du serveur (bookmark-manager-api) lancer cette commande :
composer install
- Créez un nouveau fichier ".env.local" à la racine du dossier et paramétrez cette ligne :
DATABASE_URL=mysql://db_user:db_password@127.0.0.1:3306/bookmark-manager
- Exécutez ces commandes
php bin/console doctrine:database:create
php bin/console doctrine:schema:create
- Lancez un serveur local avec l'une de ces deux commandes :
symfony server:start -d
Ou :composer require symfony/web-server-bundle --dev
php bin/console server:start 127.0.0.1:8000
- Ajoutez autant de mots-clés souhaités en base de données en remplacant "<nom_mot-cle>" par le mot-clé choisi :
curl -H "Content-Type: application/ld+json" -X POST -d '{"name": "<nom_mot_cle>", "vimeos": [], "flickrs": []}' http://localhost:8000/keywords
- Ajouter des favoris pour les sites vimeo.com et flickr.com avec l'URL de la ressource
- Récupération automatique des autres données de la ressource
- Afficher les détails d'un favori
- Modifier un favori (URL et association de mots-clés)
- Suppression d'un favori
- Pagination des favoris (actuellement affichage des 100 premiers via la variable "items_per_page" d'API Platform)
- Ajout de nouveaux mots-clés (formulaire)
- Suppression de mots-clés associés à un favori
- L'association d'un mot-clé à un favori ne fonctionne pas correctement sur le client
- La page n'est pas rechargée automatiquement lors de l'association d'un mot-clé à un favori
Le client et l'API sont accessibles en ligne à travers ces liens :