👆 La table des matières est accessible ici en cliquant sur l'icône à gauche de "README.md" !
Bienvenu dans le code source de Larabiz !
S'il vous plait, ne passez pas trop de temps à développer de nouvelles fonctionnalités pour Larabiz. Je n'aurai probablement pas le temps de les maintenir. Ce dépôt a surtout un but pédagogique.
Ce dont Larabiz a besoin (accessoirement, car je n'ai pas réellement besoin d'aide pour le moment) :
- Des corrections de bugs qui gĂŞnent votre utilisation du site ;
- Des corrections au niveau du code si vous voyez un oubli ou quelque chose qui pourrait être amélioré "the Laravel-way".
Ce dont Larabiz n'a pas besoin :
- Des grosses features chronophages Ă passer en revue et maintenir ;
- Des ajustements subjectifs au niveau du style de code ;
- Des design patterns inutilement compliqués ;
- D’autres superstitions de développeurs comme le SRP, le découplage, etc.
- PHP
- MySQL
- Redis
Partons du principe que vous utilisez Laravel Valet. Si ce n'est pas le cas, je vous demanderai de faire le travail de recherche vous-mĂŞme et d'adapter les instructions Ă votre environnement favori.
git clone git@github.com:larabiz/larabiz.git
Rendez-vous ensuite dans le dossier pour la suite :
cd larabiz
composer install
Créez un fichier d'environnement à partir de l'exemple et configurez-le à votre sauce :
cp .env.example .env
N'oubliez pas de générer la clé de chiffrement :
php artisan key:generate
PlutĂ´t que de passer par un client MySQL, vous pouvez tout simplement copier et coller cette commande dans votre terminal :
mysql -u root -e "CREATE DATABASE larabiz"
Afin de travailler correctement en local, il vous faut de la data. Non, nous ne rappatrions rien de la prod. Nous allons simplement faire bon usage des factories et de Faker.
php artisan migrate --seed
php artisan google-fonts:fetch
Installons les packages Node dont nous avons besoin :
yarn
Maintenant, nous pouvons compiler, faire des changements et les voir répercutés sur le navigateur sans avoir besoin de recharger la page grâce à Vite.
yarn dev
Chaque fichier du dossier app possède un test lorsque c'est pertinent.
Parfois, il arrive que je modifie une fonctionnalité fournie par un package. Ces tests là se trouveront dans tests/App, faute de mieux.
Si pour vos propres besoins, vous avez besoin de modifier une variable d'environnement ou que sais-je d'autre, créez un fichier phpunit.xml depuis phpunit.xml.dist.
mysql -u root -e "CREATE DATABASE larabiz_test"
De manière séquentielle :
php artisan test
En parallèle :
php artisan test --parallel
Une fois votre PR acceptée et mergée sur la branche main, les GitHub Actions exécutent les tests. Si ils passent, alors le déploiement est automatiquement déclenché en production. Le meilleur dans tout ça ? Zéro down-time pour les utilisateurs et agilité maximale.