Akaunting est une plateforme en ligne, open source et logiciel de comptabilité gratuit Conçu pour les petites entreprises et les pigistes. Il est basé sur des technologies modernes comme Laravel, VueJS, Bootstrap 4, API RESTful etc. De la facturation au suivi des coûts en passant par la comptabilité, Akaunting possède tous les outils de base nécessaires pour gérer l’argent en ligne. Pour des fonctions supplémentaires, au lieu d’un logiciel surchargé, nous avons créé une structure modulaire en ajoutant toutes les fonctions au noyau afin qu’il puisse être facilement étendu.

Akaunting offre un excellent Magasin d’applications pour les utilisateurs et crée un canal de revenus pour les développeurs Laravel du monde entier. Un module est comme un package Laravel et contient des routes, des vues, des contrôleurs et des modèles. Bien que technique, nous l’appelons ModuleNous l’appelons App dans l’interface utilisateur pour l’utilisateur final car il en est familier.

Alors faisons le premier module ensemble:

Installez Akaunting

Tout d’abord, installons Akaunting en trois étapes de base:

  • Clonez le référentiel: git clone https://github.com/akaunting/akaunting.git
  • Installer les dépendances: composer install ; npm install ; npm run dev
  • Installez Akaunting:
php artisan install --db-name="akaunting" --db-username="root" --db-password="pass" --admin-email="[email protected]" --admin-password="123456"

  • Créez des exemples de données (facultatif): php artisan sample-data:seed

Créer un module

le Akaunting / module Le package est utilisé comme constructeur. Le paquet contient une variété de commandes Artisan. Par exemple, créons un nouveau module:

php artisan module:make my-blog

Cela créera tous les fichiers et dossiers. Maintenant, installons le module:

php artisan module:install my-blog 1

my-blog est le alias du module et 1 est le Identifiant de l’entreprise que vous souhaitez installer le module. Ici Vous pouvez en savoir plus sur les entreprises Akaunting.

Alias ​​est le Slug / Unique du module car il est utilisé partout dans Akaunting.

Structure des dossiers

Comme vous pouvez le voir dans l’exemple suivant, la structure d’un module est très similaire à une simple application Laravel.

app/
bootstrap/
config/
database/
modules/
  ├── MyBlog/
      ├── Console/
      ├── Database/
          ├── Migrations/
          ├── Seeds/
      ├── Http/
          ├── Controllers/
          ├── Requests/
      ├── Jobs/
      ├── Listeners/
      ├── Models/
      ├── Providers/
          ├── Main.php
      ├── Resources/
          ├── assets/
          ├── lang/
          ├── views/
      ├── Routes/
          ├── admin.php
          ├── portal.php
      ├── composer.json
      ├── module.json
      ├── package.json
      ├── webpack.mix.js
public/
...
vendor/
.env

fichier module.json

le module.json Le fichier contient les informations les plus importantes sur votre module telles que le nom, la version, le fournisseur, etc.

{
    "alias": "my-blog",
    "icon": "fas fa-pen",
    "version": "1.0.0",
    "category": "accounting",
    "active": 1,
    "providers": [
        "Modules\MyBlog\Providers\Main"
    ],
    "aliases": {},
    "files": [],
    "requires": [],
    "reports": [],
    "widgets": [],
    "settings": []
}

Ajouter un module à la barre latérale / menu de gauche

Vous souhaiterez peut-être développer le menu en ajoutant vos propres pages. Dans un tel cas, vous pouvez écouter ceci AdminCreated Événement pour l’administrateur et / ou PortalCreated pour les clients.

Commençons par créer l’auditeur:

<?php

namespace ModulesMyBlogListeners;

use AppEventsMenuAdminCreated as Event;

class AddMenu
{
    /**
     * Handle the event.
     *
     * @param  Event $event
     * @return void
     */
    public function handle(Event $event)
    {
        // Add child to existing menu item
        $item = $event->menu->whereTitle(trans_choice('general.sales', 2));
        $item->url('my-blog/posts', 'Posts', 4, ['icon' => '']);

        // Add new menu item
        $event->menu->add([
            'url' => 'my-blog/posts',
            'title' => 'Posts',
            'icon' => 'fas fa-pen',
            'order' => 5,
        ]);
    }
}

Ajoutez ensuite votre combiné au $listen Tableau de votre ModulesMyBlogProvidersEvent Fournisseur de services:

'AppEventsMenuAdminCreated' => [
    'ModulesMyBlogListenersAddMenu',
],

Menu La documentation peut aider à comprendre le système, en particulier comment trouver un élément de menu, ajouter des enfants et créer des menus déroulants.

Page des paramètres

Akaunting est livré avec une page de paramètres centrale où les modules peuvent ajouter les leurs en quelques étapes seulement. La plupart du temps, les développeurs souhaitent simplement ajouter des informations sur la page des paramètres. Dans un tel cas, vous pouvez les ajouter à cela module.json File et Akaunting affichent votre module sur la page Paramètres, rien d’autre n’est requis.

Tout ce que tu as à faire est de remplir ça settings Array comme ceci:

"settings": [
    {
        "type": "textGroup",
        "name": "title",
        "title": "my-blog::general.title",
        "icon": "font",
        "attributes": {
            "required": "required"
        },
        "rules": "required|string"
    },
    {
        "type": "textGroup",
        "name": "header",
        "title": "my-blog::general.description",
        "icon": "user",
        "attributes": {},
        "rules": "nullable|string"
    }
]

Si votre page de paramètres nécessite un peu plus d’action, c’est quelque chose que vous pouvez vérifier Cet article.

Va Va Va

Maintenant, vous êtes prêt à partir Main Controller et écrivez le code que vous voulez comme dans une simple application Laravel. Il y aura sûrement plus à apprendre sur le développement des modules Akaunting, tels que: Écraser la sortie, Modèles de crochet, Gestion des autorisations, et beaucoup plus.

Commencez aujourd’hui

Comme vous pouvez le voir, il est facile de créer un module pour Akaunting et de créer un nouveau canal de revenus. Rejoignez une communauté forte des innovateurs en comptabilité et accédez à la base de PME à la croissance la plus rapide pour la comptabilité.

N’oubliez pas de consulter le nôtre GitHub Dépôt. Les demandes de tirage sont plus que bienvenues 🙂



Source link

Recent Posts