Skip to content

Commit

Permalink
PS-00-INIT-overrides-controller-README-requirements
Browse files Browse the repository at this point in the history
Added overrides, controller, and other requirements for extended package development
  • Loading branch information
babalu-community committed Jun 24, 2024
1 parent ec44be5 commit 9fd1bb7
Show file tree
Hide file tree
Showing 17 changed files with 1,036 additions and 57 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,4 @@ phpstan.neon
testbench.yaml
vendor
node_modules
*.bak
8 changes: 8 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"cSpell.words": [
"autoload",
"Babalu",
"Packagist",
"Spatie"
]
}
196 changes: 188 additions & 8 deletions LICENSE.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,193 @@
The MIT License (MIT)

Copyright (c) :vendor_name <author@domain.com>

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
Copyright (c) babalu-community <Community@BabaLu.fun>

Proprietary Commercial License

backend-api, backend-login

IMPORTANT READ CAREFULLY: This J JOHNSON DESIGNS LLC End-User License Agreement ("EULA") is a
legal agreement between you (either an individual or a single entity) and J JOHNSON DESIGNS LLC
Corporation for the J JOHNSON DESIGNS LLC software product identified above, which includes
computer software and may include associated media, printed materials, and
"online" or electronic documentation ("SOFTWARE PRODUCT"). The SOFTWARE PRODUCT
also includes any updates and supplements to the original SOFTWARE PRODUCT
provided to you by J JOHNSON DESIGNS LLC. Any software provided along with the SOFTWARE PRODUCT
that is associated with a separate end-user license agreement is licensed to you
under the terms of that license agreement. By installing, copying, downloading,
accessing, or otherwise using the SOFTWARE PRODUCT, you agree to be bound by the
terms of this EULA. If you do not agree to the terms of this EULA, do not install
or use the SOFTWARE PRODUCT; you may, however, return it to your place of
purchase for a full refund.


SOFTWARE PRODUCT LICENSE
------------------------

The SOFTWARE PRODUCT is protected by copyright laws and international copyright
treaties, as well as other intellectual property laws and treaties. The SOFTWARE
PRODUCT is licensed, not sold.

1. GRANT OF LICENSE. This EULA grants you the following rights:

* Applications Software. You may install, use, access, display, run, or
otherwise interact with ("RUN") one copy of the SOFTWARE PRODUCT, or any
prior version for the same operating system, on a single computer,
workstation, terminal, handheld PC, pager, "smart phone," or other
digital electronic device ("COMPUTER"). The primary user of the COMPUTER
on which the SOFTWARE PRODUCT is installed may make a second copy for his
or her exclusive use on a portable computer.

* Reservation of Rights. All rights not expressly granted are reserved by
J JOHNSON DESIGNS LLC.

2. DESCRIPTION OF OTHER RIGHTS AND LIMITATIONS.

* Not for Resale Software. If the SOFTWARE PRODUCT is labeled "Not For
Resale" or "NFR," then, notwithstanding other sections of this EULA, your
use of the SOFTWARE PRODUCT is limited to use for demonstration, test, or
evaluation purposes and you may not resell, or otherwise transfer for
value, the SOFTWARE PRODUCT.

* Limitations on Reverse Engineering, Decompilation, and Disassembly. You
may not reverse engineer, decompile, or disassemble the SOFTWARE PRODUCT,
except and only to the extent that such activity is expressly permitted
by applicable law.

* Separation of Components. The SOFTWARE PRODUCT is licensed as a single
product. Its component parts may not be separated for use on more than
one COMPUTER.

* Trademarks. This EULA does not grant you any rights in connection with
any trademarks or service marks of J JOHNSON DESIGNS LLC.

* Rental. You may not rent, lease, or lend the SOFTWARE PRODUCT.

* Support Services. J JOHNSON DESIGNS LLC may provide you with support services related to
the SOFTWARE PRODUCT ("Support Services"). Use of Support Services is
governed by the J JOHNSON DESIGNS LLC policies and programs described in the user manual,
in "online" documentation, and/or in other J JOHNSON DESIGNS LLC-provided materials. Any
supplemental software code provided to you as part of the Support
Services shall be considered part of the SOFTWARE PRODUCT and subject to
the terms and conditions of this EULA.

* Software Transfer. The initial licensee of the SOFTWARE PRODUCT may make
a one-time permanent transfer of this EULA and SOFTWARE PRODUCT only
directly to an end user. This transfer must include all of the SOFTWARE
PRODUCT (including all component parts, the media and printed materials,
any upgrades, this EULA, and, if applicable, the Certificate of
Authenticity). Such transfer may not be by way of consignment or any
other indirect transfer. The transferee of such one-time transfer must
agree to comply with the terms of this EULA, including the obligation not
to further transfer this EULA and SOFTWARE PRODUCT.

* Termination. Without prejudice to any other rights, J JOHNSON DESIGNS LLC may terminate
this EULA if you fail to comply with the terms and conditions of this
EULA. In such event, you must destroy all copies of the SOFTWARE PRODUCT
and all of its component parts.

3. COPYRIGHT. All title and copyrights in and to the SOFTWARE PRODUCT
(including but not limited to any images, photographs, animations, video,
audio, music, text, and "applets" incorporated into the SOFTWARE PRODUCT),
the accompanying printed materials, and any copies of the SOFTWARE PRODUCT
are owned by J JOHNSON DESIGNS LLC or its suppliers. All title and intellectual property
rights in and to the content that may be accessed through use of the SOFTWARE
PRODUCT is the property of the respective content owner and may be protected
by applicable copyright or other intellectual property laws and treaties.
This EULA grants you no rights to use such content. If this SOFTWARE PRODUCT
contains documentation that is provided only in electronic form, you may
print one copy of such electronic documentation. You may not copy the printed
materials accompanying the SOFTWARE PRODUCT.

4. BACKUP COPY. After installation of one copy of the SOFTWARE PRODUCT pursuant
to this EULA, you may keep the original media on which the SOFTWARE PRODUCT
was provided by J JOHNSON DESIGNS LLC solely for backup or archival purposes. If the original
media is required to use the SOFTWARE PRODUCT on the COMPUTER, you may make
one copy of the SOFTWARE PRODUCT solely for backup or archival purposes.
Except as expressly provided in this EULA, you may not otherwise make copies
of the SOFTWARE PRODUCT or the printed materials accompanying the SOFTWARE
PRODUCT.

5. U.S. GOVERNMENT RESTRICTED RIGHTS. All SOFTWARE PRODUCT provided to the U.S.
Government pursuant to solicitations issued on or after December 1, 1995 is
provided with the commercial rights and restrictions described elsewhere
herein. All SOFTWARE PRODUCT provided to the U.S. Government pursuant to
solicitations issued prior to December 1, 1995 is provided with RESTRICTED
RIGHTS as provided for in FAR, 48 CFR 52.227-14 (JUNE 1987) or FAR, 48 CFR
252.227-7013 (OCT 1988), as applicable.

6. EXPORT RESTRICTIONS. This SOFTWARE PRODUCT has been classified by the US
Government as exportable under License Exception TSU. Therefore the following
terms apply: You agree that you will not export or re-export the SOFTWARE
PRODUCT, any part thereof, or any process or service that is the direct
product of the SOFTWARE PRODUCT (the foregoing collectively referred to as
the Restricted Components), to any country, person or entity subject to U.S.
export restrictions. You specifically agree not to export or re-export any of
the Restricted Components (i) to any country to which the U.S. has embargoed
or restricted the export of goods or services, which currently include, but
are not necessarily limited to Cuba, Iran, Iraq, Libya, North Korea, Sudan
and Syria, or to any national of any such country, wherever located, who
intends to transmit or transport the Restricted Components back to such
country; (ii) to any person or entity who you know or have reason to know
will utilize the Restricted Components in the design, development or
production of nuclear, chemical or biological weapons; or (iii) to any person
or entity who has been prohibited from participating in U.S. export
transactions by any federal agency of the U.S. government. You warrant and
represent that neither the Bureau of Export Administration nor any other U.S.
federal agency has suspended, revoked or denied your export privileges.


MISCELLANEOUS
-------------

This EULA is governed by the laws of the Commonwealth of Massachusetts and the
United States of America.


LIMITED WARRANTY
----------------

J JOHNSON DESIGNS LLC warrants that (a) the SOFTWARE PRODUCT will perform substantially in
accordance with the accompanying written materials for a period of ninety (90)
days from the date of receipt, and (b) any Support Services provided by J JOHNSON DESIGNS LLC
shall be substantially as described in applicable written materials provided to
you by J JOHNSON DESIGNS LLC, and J JOHNSON DESIGNS LLC support engineers will make commercially reasonable efforts
to solve any problem issues. Some states and jurisdictions do not allow
limitations on duration of an implied warranty, so the above limitation may not
apply to you.


CUSTOMER REMEDIES. J JOHNSON DESIGNS LLCs and its suppliersentire liability and your exclusive
remedy shall be, at J JOHNSON DESIGNS LLCs option, either (a) return of the price paid, if any, or
(b) repair or replacement of the SOFTWARE PRODUCT that does not meet J JOHNSON DESIGNS LLCs
Limited Warranty and which is returned to J JOHNSON DESIGNS LLC with a copy of your receipt. This
Limited Warranty is void if failure of the SOFTWARE PRODUCT has resulted from
accident, abuse, or misapplication. Any replacement SOFTWARE PRODUCT will be
warranted for the remainder of the original warranty period or thirty (30) days,
whichever is longer.

NO OTHER WARRANTIES. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, J JOHNSON DESIGNS LLC AND
ITS SUPPLIERS DISCLAIM ALL OTHER WARRANTIES AND CONDITIONS, EITHER EXPRESS OR
IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, TITLE, AND NON-INFRINGEMENT, WITH REGARD TO THE
SOFTWARE PRODUCT, AND THE PROVISION OF OR FAILURE TO PROVIDE SUPPORT SERVICES.
THIS LIMITED WARRANTY GIVES YOU SPECIFIC LEGAL RIGHTS. YOU MAY HAVE OTHERS, WHICH
VARY FROM STATE/JURISDICTION TO STATE/JURISDICTION.

LIMITATION OF LIABILITY. To the maximum extent permitted by applicable law, in no
event shall J JOHNSON DESIGNS LLC or its suppliers be liable for any special, incidental,
indirect, or consequential damages whatsoever (including, without limitation,
damages for loss of business profits, business interruption, loss of business
information, or any other pecuniary loss) arising out of the use of or inability
to use the SOFTWARE PRODUCT or the provision of or failure to provide Support
Services, even if J JOHNSON DESIGNS LLC has been advised of the possibility of such damages. In
any case, J JOHNSON DESIGNS LLCs entire liability under any provision of this EULA shall be
limited to the greater of the amount actually paid by you for the SOFTWARE
PRODUCT or U.S. $5.00; provided, however, if you have entered into a J JOHNSON DESIGNS LLC Support
Services Agreement, J JOHNSON DESIGNS LLCs entire liability regarding Support Services shall be
governed by the terms of that agreement. Because some states and jurisdictions do
not allow the exclusion or limitation of liability, the above limitation may not
apply to you.

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
Expand Down
123 changes: 96 additions & 27 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,48 +1,108 @@
# :package_description
# :package_slug

[![Latest Version on Packagist](https://img.shields.io/packagist/v/:vendor_slug/:package_slug.svg?style=flat-square)](https://packagist.org/packages/:vendor_slug/:package_slug)
[![GitHub Tests Action Status](https://img.shields.io/github/actions/workflow/status/:vendor_slug/:package_slug/run-tests.yml?branch=main&label=tests&style=flat-square)](https://github.com/:vendor_slug/:package_slug/actions?query=workflow%3Arun-tests+branch%3Amain)
[![GitHub Code Style Action Status](https://img.shields.io/github/actions/workflow/status/:vendor_slug/:package_slug/fix-php-code-style-issues.yml?branch=main&label=code%20style&style=flat-square)](https://github.com/:vendor_slug/:package_slug/actions?query=workflow%3A"Fix+PHP+code+style+issues"+branch%3Amain)
[![Total Downloads](https://img.shields.io/packagist/dt/:vendor_slug/:package_slug.svg?style=flat-square)](https://packagist.org/packages/:vendor_slug/:package_slug)
<!--delete-->
---
This repo can be used to scaffold a Laravel package. Follow these steps to get started:
## api-app-skeleton

1. Press the "Use this template" button at the top of this repo to create a new repo with the contents of this skeleton.
2. Run "php ./configure.php" to run a script that will replace all placeholders throughout all the files.
3. Have fun creating your package.
4. If you need help creating a package, consider picking up our <a href="https://laravelpackage.training">Laravel Package Training</a> video course.
---
<!--/delete-->
This is where your description should go. Limit it to a paragraph or two. Consider adding a small example.
:package_description

## Support us
## Installation - Package Development (*Current Workflow*)

[<img src="https://github-ads.s3.eu-central-1.amazonaws.com/:package_name.jpg?t=1" width="419px" />](https://spatie.be/github-ad-click/:package_name)
### From Here - *Child* `Package`

We invest a lot of resources into creating [best in class open source packages](https://spatie.be/open-source). You can support us by [buying one of our paid products](https://spatie.be/open-source/support-us).
- Navigate to location and install composer dependencies.

We highly appreciate you sending us a postcard from your hometown, mentioning which of our package(s) you are using. You'll find our address on [our contact page](https://spatie.be/about-us). We publish all received postcards on [our virtual postcard wall](https://spatie.be/open-source/postcards).
```sh:
$ pwd
/var/www
$ cd /var/www/packages/:vendor_slug/skeleton
$ composer install
```

## Installation
> *During Package DEV*: There may be a need to modify the installer to remove the central dependency of package tools, until context aware include invocation of include.
### From `Backend-API` - *Parent* `Application`

- Modify the *base* `composer.json` and `app.php` configuration files, adding this `VendorName\\Skeleton` Package and `Skeleton\SkeletonServiceProvider`Class.
- `/composer.json~32-33`

```json:/composer.json~32-33
"autoload": {
"psr-4": {
"App\\": "app/",
"Database\\Factories\\": "database/factories/",
"Database\\Seeders\\": "database/seeders/",
"VendorName\\Skeleton\\": "packages/:vendor_slug/:package_slug/src/",
"VendorName\\Skeleton\\": "packages/:vendor_slug/skeleton/src/"
}
},
```

- `/config/app.php~165-166`

```php:config/app.php~165-166
'providers' => ServiceProvider::defaultProviders()->merge([
/*
* Package Service Providers...
* Required for discovery (non auto, as that only applies to the `vendor` dir)
* while under dev in `Packages`
*/
VendorName\Skeleton\SkeletonServiceProvider::class,
VendorName\Skeleton\SkeletonServiceProvider::class,
```

- Discover packages, and generate optimized autoload files.

```bash
composer dump-autoload
```


- Publish and run the migrations with:

```bash
php artisan vendor:publish --tag="skeleton-migrations"
php artisan migrate
```

- Publish the config file with:

```bash
php artisan vendor:publish --tag="skeleton-config"
```

- Publish the (graceful failure html only) views using

```bash
php artisan vendor:publish --tag="skeleton-views"
```

- Make sure Vite is running and picks up changes

## ~~Installation~~ - **Post** Development (Composer/Packagist Published)

- Initialize *this* child repository, after modifying the base config above

```bash
composer require packages/:vendor_slug/skeleton
```

You can install the package via composer:

```bash
composer require :vendor_slug/:package_slug
composer require :vendor_slug/skeleton
```

You can publish and run the migrations with:

```bash
php artisan vendor:publish --tag=":package_slug-migrations"
php artisan vendor:publish --tag="skeleton-migrations"
php artisan migrate
```

You can publish the config file with:

```bash
php artisan vendor:publish --tag=":package_slug-config"
php artisan vendor:publish --tag="skeleton-config"
```

This is the contents of the published config file:
Expand All @@ -55,14 +115,14 @@ return [
Optionally, you can publish the views using

```bash
php artisan vendor:publish --tag=":package_slug-views"
php artisan vendor:publish --tag="skeleton-views"
```

## Usage

```php
$variable = new VendorName\Skeleton();
echo $variable->echoPhrase('Hello, VendorName!');
$objSkeleton = new VendorName\Skeleton();
echo $objSkeleton->echoPhrase('Hello, VendorName!');
```

## Testing
Expand Down Expand Up @@ -90,4 +150,13 @@ Please review [our security policy](../../security/policy) on how to report secu

## License

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.
Proprietary private software. Please see [License File](LICENSE.md) for more information.

## Stats - *requires hosting/adapter*

*`TODO: CREATE A TOKEN ENABLED WEB HOSTED APP ON CENTRAL DOMAIN TO HANDLE THE INTERNAL REQUESTS FOR ROUTING, ACTIONS, HOOKS, EVENTS, AND STATUS CALLS LIKE THESE`*

[![Latest Version on Packagist](https://img.shields.io/packagist/v/:vendor_slug/backend-login.svg?style=flat-square)](https://packagist.org/packages/:vendor_slug/backend-login)
[![GitHub Tests Action Status](https://img.shields.io/github/actions/workflow/status/:vendor_slug/backend-login/run-tests.yml?branch=main&label=tests&style=flat-square)](https://github.com/:vendor_slug/backend-login/actions?query=workflow%3Arun-tests+branch%3Amain)
[![GitHub Code Style Action Status](https://img.shields.io/github/actions/workflow/status/:vendor_slug/backend-login/fix-php-code-style-issues.yml?branch=main&label=code%20style&style=flat-square)](https://github.com/:vendor_slug/backend-login/actions?query=workflow%3A"Fix+PHP+code+style+issues"+branch%3Amain)
[![Total Downloads](https://img.shields.io/packagist/dt/:vendor_slug/backend-login.svg?style=flat-square)](https://packagist.org/packages/:vendor_slug/backend-login)
Loading

0 comments on commit 9fd1bb7

Please sign in to comment.