Skip to content

marshmallow-packages/server-project-usage

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

alt text

Project usage

Deze package maakt het mogelijk om gegevens over het project naar een endpoint naar keuze te sturen zodat je statistieken bij kan houden over bijvoorbeeld hoe groot de database is, hoeveel geheugen wordt er gebruikt en welke packages worden er gebruikt.

Installatie

composer require marshmallow/server-project-usage

Usage

First publish the config or update your .env file with the values below.

PROJECT_USAGE_API_ENDPOINT=XXXXX
PROJECT_USAGE_CUSTOMER_ID=XXXXXX
PROJECT_USAGE_PROJECT_ID=XXXXXX

Setup automatic updating

Add the following command to your composer.json so on every composer update we will update the information in your panel.

"scripts": {
    "post-autoload-dump": [
        // ...
        "@php artisan marshmallow:publish-package-usage --ansi"
    ],
    // ...
}

Schedule your updates

Add the command to your schedule in every project and handle the request on the endpoint in your config file to store the data that will be send.

protected function schedule(Schedule $schedule)
{
    $schedule->command('marshmallow:publish-project-usage')->daily();
}

Commands

# This will show the data that will be send to the endpoint
php artisan marshmallow:show-project-usage
# This will do a post request to the endpoint in the config
php artisan marshmallow:publish-project-usage
# This will only post the package information to your endpoint
php artisan marshmallow:publish-package-usage

The data

Below you will find the data that will be sent to the API endpoint.

{
	"customer_id": "XXXXXX",
	"project_id": "XXXXXX",
	"data": {
		"server": {
			"php_version": "7.4.8"
		},
		"database": {
			"size": 14155776,		// bytes
			"table_count": 31
		},
		"storage": {
			"root": 284579340,		// bytes
			"storage": 53010322		// bytes
		},
		"packages": {
			"composer": {
				"marshmallow/package-novastyling": "v1.1.1",
				"marshmallow/server-project-usage": "v1.0.4"
				// ...
			},
			"dependencies": {
				"doctrine/inflector": "2.0.3",
				"laravel/ui": "v2.1.0"
				// ...
			}
		}
	}
}

About

🥚This package is used in Marshmallow projects to send us a report of all the packages our projects use and if they are up to date of need updating.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages