This repository has been archived by the owner on Aug 4, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit ce7a699
Showing
82 changed files
with
11,257 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
root = true | ||
|
||
[*] | ||
charset = utf-8 | ||
end_of_line = lf | ||
indent_size = 4 | ||
indent_style = space | ||
insert_final_newline = true | ||
trim_trailing_whitespace = true | ||
|
||
[*.md] | ||
trim_trailing_whitespace = false | ||
|
||
[*.{yml,yaml}] | ||
indent_size = 2 | ||
|
||
[docker-compose.yml] | ||
indent_size = 4 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
APP_NAME="User's API" | ||
APP_ENV=local | ||
APP_KEY= | ||
APP_DEBUG=true | ||
APP_URL=http://localhost | ||
|
||
LOG_CHANNEL=stack | ||
LOG_DEPRECATIONS_CHANNEL=null | ||
LOG_LEVEL=debug | ||
|
||
DB_CONNECTION=mysql | ||
DB_HOST=127.0.0.1 | ||
DB_PORT=3306 | ||
DB_DATABASE=users_api | ||
DB_USERNAME=root | ||
DB_PASSWORD= | ||
|
||
BROADCAST_DRIVER=log | ||
CACHE_DRIVER=file | ||
FILESYSTEM_DISK=local | ||
QUEUE_CONNECTION=sync | ||
SESSION_DRIVER=file | ||
SESSION_LIFETIME=120 | ||
|
||
MEMCACHED_HOST=127.0.0.1 | ||
|
||
REDIS_HOST=127.0.0.1 | ||
REDIS_PASSWORD=null | ||
REDIS_PORT=6379 | ||
|
||
MAIL_MAILER=smtp | ||
MAIL_HOST=mailpit | ||
MAIL_PORT=1025 | ||
MAIL_USERNAME=null | ||
MAIL_PASSWORD=null | ||
MAIL_ENCRYPTION=null | ||
MAIL_FROM_ADDRESS="hello@example.com" | ||
MAIL_FROM_NAME="${APP_NAME}" | ||
|
||
AWS_ACCESS_KEY_ID= | ||
AWS_SECRET_ACCESS_KEY= | ||
AWS_DEFAULT_REGION=us-east-1 | ||
AWS_BUCKET= | ||
AWS_USE_PATH_STYLE_ENDPOINT=false | ||
|
||
PUSHER_APP_ID= | ||
PUSHER_APP_KEY= | ||
PUSHER_APP_SECRET= | ||
PUSHER_HOST= | ||
PUSHER_PORT=443 | ||
PUSHER_SCHEME=https | ||
PUSHER_APP_CLUSTER=mt1 | ||
|
||
VITE_APP_NAME="${APP_NAME}" | ||
VITE_PUSHER_APP_KEY="${PUSHER_APP_KEY}" | ||
VITE_PUSHER_HOST="${PUSHER_HOST}" | ||
VITE_PUSHER_PORT="${PUSHER_PORT}" | ||
VITE_PUSHER_SCHEME="${PUSHER_SCHEME}" | ||
VITE_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
APP_NAME="User's API" | ||
APP_ENV=testing | ||
APP_KEY=base64:rV8EbGgZeNuiGivTBFjzcXB5G251qmMauVsBcyGSaUw= | ||
APP_DEBUG=true | ||
APP_URL=http://localhost:8000 | ||
|
||
LOG_CHANNEL=stack | ||
LOG_DEPRECATIONS_CHANNEL=null | ||
LOG_LEVEL=debug | ||
|
||
DB_CONNECTION=mysql | ||
DB_HOST=127.0.0.1 | ||
DB_PORT=3306 | ||
DB_DATABASE=users_api | ||
DB_USERNAME=root | ||
DB_PASSWORD= | ||
|
||
BROADCAST_DRIVER=log | ||
CACHE_DRIVER=file | ||
FILESYSTEM_DISK=local | ||
QUEUE_CONNECTION=sync | ||
SESSION_DRIVER=file | ||
SESSION_LIFETIME=120 | ||
|
||
MEMCACHED_HOST=127.0.0.1 | ||
|
||
REDIS_HOST=127.0.0.1 | ||
REDIS_PASSWORD=null | ||
REDIS_PORT=6379 | ||
|
||
MAIL_MAILER=smtp | ||
MAIL_HOST=mailpit | ||
MAIL_PORT=1025 | ||
MAIL_USERNAME=null | ||
MAIL_PASSWORD=null | ||
MAIL_ENCRYPTION=null | ||
MAIL_FROM_ADDRESS="hello@example.com" | ||
MAIL_FROM_NAME="${APP_NAME}" | ||
|
||
AWS_ACCESS_KEY_ID= | ||
AWS_SECRET_ACCESS_KEY= | ||
AWS_DEFAULT_REGION=us-east-1 | ||
AWS_BUCKET= | ||
AWS_USE_PATH_STYLE_ENDPOINT=false | ||
|
||
PUSHER_APP_ID= | ||
PUSHER_APP_KEY= | ||
PUSHER_APP_SECRET= | ||
PUSHER_HOST= | ||
PUSHER_PORT=443 | ||
PUSHER_SCHEME=https | ||
PUSHER_APP_CLUSTER=mt1 | ||
|
||
VITE_APP_NAME="${APP_NAME}" | ||
VITE_PUSHER_APP_KEY="${PUSHER_APP_KEY}" | ||
VITE_PUSHER_HOST="${PUSHER_HOST}" | ||
VITE_PUSHER_PORT="${PUSHER_PORT}" | ||
VITE_PUSHER_SCHEME="${PUSHER_SCHEME}" | ||
VITE_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
* text=auto eol=lf | ||
|
||
*.blade.php diff=html | ||
*.css diff=css | ||
*.html diff=html | ||
*.md diff=markdown | ||
*.php diff=php | ||
|
||
/.github export-ignore | ||
CHANGELOG.md export-ignore | ||
.styleci.yml export-ignore |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
name: API | ||
on: [push, pull_request] | ||
jobs: | ||
laravel: | ||
name: pipeline (PHP ${{ matrix.php-versions }}) | ||
runs-on: ubuntu-latest | ||
services: | ||
mysql: | ||
image: mysql:5.7 | ||
env: | ||
MYSQL_ROOT_PASSWORD: 'secret' | ||
MYSQL_DATABASE: 'users_api' | ||
MYSQL_USER: 'user' | ||
MYSQL_PASSWORD: 'secret' | ||
ports: | ||
- 3306/tcp | ||
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 | ||
redis: | ||
image: redis | ||
options: >- | ||
--health-cmd "redis-cli ping" | ||
--health-interval 10s | ||
--health-timeout 5s | ||
--health-retries 5 | ||
ports: | ||
- 6379:6379 | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
php-versions: ['8.2'] | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v2 | ||
- name: Setup PHP, with composer and extensions | ||
uses: shivammathur/setup-php@v2 #https://github.com/shivammathur/setup-php | ||
with: | ||
php-version: ${{ matrix.php-versions }} | ||
extensions: mbstring, dom, fileinfo, mysql | ||
coverage: none | ||
- name: Start mysql service | ||
run: sudo /etc/init.d/mysql start | ||
- name: Get composer cache directory | ||
id: composercache | ||
run: echo "::set-output name=dir::$(composer config cache-files-dir)" | ||
- name: Cache composer dependencies | ||
uses: actions/cache@v2 | ||
with: | ||
path: ${{ steps.composercache.outputs.dir }} | ||
# Use composer.json for key, if composer.lock is not committed. | ||
# key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} | ||
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} | ||
restore-keys: ${{ runner.os }}-composer- | ||
- name: Install Composer dependencies | ||
run: composer install -q --no-progress --prefer-dist --optimize-autoloader | ||
- name: Prepare Environment | ||
run: | | ||
sed -i "s/3306/${{ job.services.mysql.ports['3306'] }}/g" .env.testing | ||
sed -i "s/DB_PASSWORD=/DB_PASSWORD=secret/g" .env.testing | ||
cp .env.testing .env | ||
- name: Clear config cache | ||
run: php artisan config:clear | ||
- name: Generate key | ||
run: php artisan key:generate -q -n | ||
- name: Migrate & Seed Database | ||
run: php artisan migrate --seed --force | ||
- name: Change Directory Permissions | ||
run: chmod -R 777 storage bootstrap/cache | ||
- name: Install javascript packages | ||
run: npm install --quiet --no-progress | ||
- name: Build javascript packages | ||
run: npm run build | ||
- name: Run Laravel Server | ||
run: php artisan serve --no-reload & | ||
- name: curl to localhost | ||
run: curl localhost:8000 & | ||
- name: Run Unit Tests | ||
run: php artisan test --testsuite=Unit --stop-on-failure | ||
- name: Run Feature Tests | ||
run: php artisan test --testsuite=Feature --stop-on-failure |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
/.phpunit.cache | ||
/node_modules | ||
/public/build | ||
/public/hot | ||
/public/storage | ||
/storage/*.key | ||
/vendor | ||
.env | ||
.env.backup | ||
.env.production | ||
.phpunit.result.cache | ||
Homestead.json | ||
Homestead.yaml | ||
auth.json | ||
npm-debug.log | ||
yarn-error.log | ||
/.fleet | ||
/.idea | ||
/.vscode | ||
tmp |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,126 @@ | ||
<img src="https://github.com/kkamara/useful/raw/main/MainClass.png" alt="MainClass.png" width=""/> | ||
|
||
<img src="https://github.com/kkamara/useful/raw/main/movies.png" alt="movies.png" width=""/> | ||
|
||
# users-api-laravel-10-php [![API](https://github.com/kkamara/users-api-laravel-10-php/actions/workflows/build.yml/badge.svg)](https://github.com/kkamara/users-api-laravel-10-php/actions/workflows/build.yml) | ||
|
||
(04-Aug-2023) With Laravel 10 we build a GDPR compliant users API system. | ||
|
||
* [Tinker](#tinker) | ||
|
||
* [Installation](#installation) | ||
|
||
* [Usage](#usage) | ||
|
||
* [Api Documentation](#api-documentation) | ||
|
||
* [Run Tests](#run-tests) | ||
|
||
* [Misc](#misc) | ||
|
||
* [Contributing](#contributing) | ||
|
||
* [License](#license) | ||
|
||
## Tinker | ||
|
||
```bash | ||
php artisan tinker | ||
> $u = new \App\Models\User; | ||
= App\Models\User {#6216} | ||
``` | ||
|
||
## Installation | ||
|
||
* [PHP and MySQL](https://www.apachefriends.org/download.html) | ||
* [Yarn](https://yarnpkg.com/getting-started/install) (can be installed with `npm i -g yarn`) | ||
* [https://laravel.com/docs/10.x/installation](https://laravel.com/docs/10.x/installation) | ||
* [https://laravel.com/docs/10.x/mix#main-content](https://laravel.com/docs/10.x/mix#main-content) | ||
|
||
Create our environment file. | ||
|
||
```bash | ||
cp .env.example .env | ||
``` | ||
|
||
Install our app dependencies. | ||
|
||
```bash | ||
composer i | ||
``` | ||
|
||
Generate app key. | ||
|
||
```bash | ||
# php artisan key:generate | ||
composer run post-create-project-cmd | ||
``` | ||
|
||
Run migrations with seeders. | ||
|
||
```bash | ||
php artisan migrate --seed | ||
``` | ||
|
||
Install javascript required packages. | ||
|
||
```bash | ||
yarn && yarn build | ||
# Do `yarn dev` during development to see live changes | ||
# of your blade and js and css/scss dependencies with vite.config.js | ||
``` | ||
|
||
## Usage | ||
|
||
* [https://github.com/kkamara/laravel-makefile](https://github.com/kkamara/laravel-makefile) | ||
* [https://laravel.com/docs/10.x/sail#main-content](https://laravel.com/docs/10.x/sail#main-content) | ||
|
||
```bash | ||
# php artisan serve | ||
php artisan serve --port 3000 | ||
``` | ||
|
||
## Api Documentation | ||
|
||
```bash | ||
php artisan route:list | ||
# example output: | ||
... | ||
POST api/user ............................ login › Api\UserController@login | ||
GET|HEAD api/user/authorize .................. Api\UserController@authorizeUser | ||
POST api/user/register ................... Api\UserController@register | ||
... | ||
``` | ||
|
||
## Unit Tests | ||
|
||
```bash | ||
# php artisan test | ||
php artisan test --testsuite=Feature | ||
``` | ||
|
||
## Misc | ||
|
||
[See Laravel 10 movies app.](https://github.com/kkamara/movies) | ||
|
||
[See laravel makefile](https://github.com/kkamara/laravel-makefile) | ||
|
||
[See Laravel 9 food nutrition facts search web app.](food-nutrition-facts-search-web-app) | ||
|
||
[See crm.](https://github.com/kkamara/crm) | ||
|
||
[See php scraper.](https://github.com/kkamara/php-scraper) | ||
|
||
[See amazon scraper.](https://github.com/kkamara/amazon-scraper) | ||
|
||
[See python amazon scraper 2.](https://github.com/kkamara/selenium-py) | ||
|
||
[See wordpress.](https://github.com/kkamara/wordpress) | ||
|
||
## Contributing | ||
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. | ||
|
||
Please make sure to update tests as appropriate. | ||
|
||
## License | ||
[BSD](https://opensource.org/licenses/BSD-3-Clause) |
Oops, something went wrong.