Crazy Laravel Stack (Fantastically Powerful)
Tags: laravel, javascript, npm, tooling
Published: 2021-07-23 14:12:15

{% user cleancodestudio %}

[![Twitter Follow](https://img.shields.io/twitter/follow/cleancodestudio.svg?style=social)](https://twitter.com/cleancodestudio) 

---

Did you know I have a newsletter? 📬

If you want to get notified when I publish new blog posts or make major project announcements, head over to https://cleancodestudio.paperform.co/


---

### Crazy Laravel Stack (Fantastically Powerful)

---

> _Driven by a deeply personal vendetta against college debt - I've created, shared, spoken, written, recorded, published, posted, developed, built, and invested - invested time, energy, and resources into sharing knowledge._ 

> _Nearing 500,000 global viewers, over 3000 subscribers, and with [125+ published Clean Code Studio screencasts](https://youtube.com/c/cleancodestudio) -- I have invested the time and energy into Clean Code Studio and feel the time has finally come to do something...something that may quite possibly be - bat s*** crazy._

What's crazy you ask? Great question!

So, let me break this down first. Here's a list of several of the contributions I've made via Clean Code Studio to improve the coding and educational resources available out there and further demolish this crazy notion that going to college (to quite literally deep dive into debt more times than not) is a flat out terrible idea. After the contributions to date, we'll dive into the crazy. 


Okay - so check it - here's a list of the coding and educational contributions made directly through me as Clean Code Studio, for Clean Code Studio, or because of Clean Code Studio.  


- [125+ Clean Code Studio YouTube screencasts](https://youtube.com/c/cleancodestudio)  


---

- [10+ Developed and Published NPM Packages (Installed thousands of times Over)](https://npmjs.com/package/vuejs-form)

---

- [12+ dev.to blog posts published (With nearly 9,000+ readers)](https://dev.to/cleancodestudio)


---

- [Top 25% rank in stack overflow questions answered](https://stackoverflow.com/users/8541350/clean-code-studio)

---



- Spoke with 2nd Year UMKC Computer Science Majors (As a 23 Year old who had dropped out of college myself, I was impressed with the offer to come share the knowledge with computer science students at the University. The professor let me in on how he knew the degree wasn't that important for computer science any more and thought I'd have a solid take on personal branding beyond the degree since I had a solid gig without the piece of paper.



---

- [Clean Code Studio TikTok Humor (#WhatProgrammersSay vs. #WhatProgrammersMean](https://tiktok.com/@cleancodestudio?lang=en)

---



- [Developed 5+ Packagist Packages (Installed by Devs thousands of times)](https://packagist.org/packages/clean-code-studio/laravel-make-facades)

---


There's reddit threads, Github repos, udemy courses, leetcode submissions/feedback, etc... 

Buutttt - _**Here's the crazy part (And a sliiiggghtttly embarrassing admission)!!**_.

---
 
[Clean Code Studio](https://cleancode.studio) - the website - source of the Clean Code Clean Life ~ Simplify brand - the center piece of our online presence....

Yah, so it kinda uses Google sites right now - like the default google website builder, the one that is literally worse than any other website builder out there. 


Clean Code Studio, content wise, has some great content - but the website as it is in its current state is lacking.


Thus, once we hit 3000 subscribers - I decided to adjust.


I started building out the actual Clean Code Studio Website Application earlier this week (2 days ago to be precise). 


---

I'm a Laravel fan boy - thus I started building the application out using Laravel. 

---

**_THAT's WHEN THINGS WENT SIDEWAYS (S*** BLEW UP INTO ALL TYPES OF CRAZY - CRAZY GOOD)!!_**


- 1. I started with Laravel
- 2. Then I noticed Laravel Spark was re-created AND re-branded 
- 3. Laravel Spark (link way below) was now Laravel Spark Classic 
- 4. Laravel Spark (link way below) is now Laravel Spark Next
- 5. Laravel Spark Next Doesn't Care Which Front-end Preset You Use (Laravel Spark Classic was biased towards vue.js)
- 6. Laravel Spark Next needs a front-end preset - it just doesn't care about which one it is. I pulled in **Laravel Jet Stream**. 
- 7. Using Laravel Jet Stream, I set up the auth, created the teams, set up team & user actions/emails/notifications, added the ability for users/teams to add profile picture updates, and configured the password to be re-settable, and for two factor authentication to be optional, etc...
- 8. Laravel Jet Stream Configures All Of This, There was very little customization on my part (if any).
- 9 Laravel Jet Stream Can Also Use Inertia.js (AKA Vue.js SPA front-end instead of using Live Wire with Laravel Jet Stream)
- 10. Laravel Spark Next takes care of billing. I chose the new laravel-spark-paddle (Credit card or paypal payment optioni - super easy set up)
- 11. At this point, I remembered how fun Laravel Nova was to use as a user (I had used Laravel nova on a few past projects - it's amazing).
- 12. Laravel Nova is technically supposed to be used as an admin panel.
- 13. With Laravel JetStream we have the authentication and the profile/team scaffolds. With Laravel Spark we have the Billing Scaffolds and Integration. And now - after bringing in Laravel Nova - we have an admin panel allowing us to easily connect, create, relate, destroy, search, sort, and access all of the model data from both Laravel JetStream and Laravel Spark directly from an admin panel via Laravel Nova.
- 14. Then, there's Laravel Sanctum - Laravel JetStream let's you use Laravel Sanctum. Laravel Sanctum lets you create a publicly facing API that provides tokens with abilities for users to interact with your API. 
- 15. Laravel Sanctum allows you to create a public, user accessible, API that creates tokens that authorize api access for
   - API Token Authentication
   - SPA Authentication
   - Mobile Application Authentication
- 16. And allows testing of APIs using the `Sanctum::actingAs` method that allows you to authenticate a user and specify which abilities should be granted to their token.



All together, we have 

- [Laravel](https://laravel.com)
  - Laravel - Framework for web artisans
- [Laravel Mix](https://laravel-mix.com) 
  - Laravel Mix - Webpack Asset Compilation/Webpack Wrapper
- [Laravel Sail](https://laravel.com/docs/8.x/sail)
  - Laravel Sail - Local Docker Environment for Laravel
- [Laravel Spark](https://spark.laravel.com)
  - Laravel Spark - SaaS App Scaffolding 
  - Laravel Spark - Integrates Billing Features Into Laravel 
 Application
  - [Laravel Cashier Paddle](https://laravel.com/docs/8.x/cashier-paddle) 
     - Laravel Cashier Paddle provides an expressive, fluent interface to Paddle's subscription billing services. 
- [Laravel Nova](https://nova.laravel.com)
   - Laravel Nova - Admin Panel for Laravel (Eloquent Models)
   -  [Laravel Scout](https://laravel.com/docs/8.x/scout#introduction) 
     - Laravel Scout - Optional driver for adding full-text search to your eloquent models
- [Laravel Jet Stream](https://jetstream.laravel.com/2.x/introduction.html)
   - Jetstream - Provides the implementation for your application's login, registration, email verification, two-factor authentication, session management, API via Laravel Sanctum, and optional team management features.
  - [Laravel Fortify](https://laravel.com/docs/8.x/fortify)
  - Laravel Fortify is a frontend agnostic authentication backend implementation for Laravel
- [Laravel Sanctum](https://laravel.com/docs/8.x/sanctum#introduction)
   - Laravel Sanctum provides a featherweight authentication system for SPAs (single page applications), mobile applications, and simple, token based APIs. Sanctum allows each user of your application to generate multiple API tokens for their account. These tokens may be granted abilities / scopes which specify which actions the tokens are allowed to perform.
- [Laravel Forge](https://forge.laravel.com)
   - Laravel Forge - Server management and site deployment service (Deploying app to stage - then to prod)


This Laravel stack listed above is what I'm currently working with to create [https://cleancode.studio](Clean Code Studio) - so far, I'm extremely impressed. With Laravel Spark Next being released and non being biased towards any front-end - This tech stack of more than half of Laravel's core eco system integrates all but seamlessly. 

Below is the actual README.md I pulled from my Clean Code Studio private repo. Feel free to check it out!

I also highly recommend [doctoc](https://www.npmjs.com/package/doctoc) from NPM if you're starting to build out a long read me. It automatically creates a table of contents for any markdown file based on headers and sub-header relationships :) 


**1. Install Doctoc**
```js
npm i doctoc --save-dev
```


**2. Open `package.json` and add `"index-readme": "doctoc README.md" to your `scripts` object**
```js
// package.json

"private": true,
"scripts": {
        "dev": "npm run development",
        "development": "mix",
        "watch": "mix watch",
        "watch-poll": "mix watch -- --watch-options-poll=1000",
        "hot": "mix watch --hot",
        "prod": "npm run production",
        "production": "mix --production",
        "index-readme": "doctoc README.md" 
    },
```


**3. Whenever you want to generate a table of content in your README.md - simply run `npm run index-readme`** 




---

## My Actual Clean Code Studio README.md (Pulled from my personal project this morning)

---
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
**Table of Contents**

- [Clean Code Studio](#clean-code-studio)
  - [Setup Local Dev Environment](#setup-local-dev-environment)
    - [GitHub](#github)
    - [Composer](#composer)
    - [.env (Environment Variables)](#env-environment-variables)
    - [Database](#database)
      - [.env (SQLite local) Settings for Database](#env-sqlite-local-settings-for-database)
      - [Migrate database tables and seed dummy data](#migrate-database-tables-and-seed-dummy-data)
    - [Compile Front-end Assets](#compile-front-end-assets)
    - [Boot Development Server](#boot-development-server)
  - [Tech Stack](#tech-stack)
    - [PHP 8.0+](#php-80)
    - [Laravel 8.0](#laravel-80)
    - [Vue JS 3.05](#vue-js-305)
      - [Admin panel](#admin-panel)
        - [(Uses Laravel Nova v3.27.0)](#uses-laravel-nova-v3270)
      - [Billing](#billing)
        - [(Uses Laravel Spark Next)](#uses-laravel-spark-next)
        - [(Uses Paddle Payment Gateway Via Spark Next)](#uses-paddle-payment-gateway-via-spark-next)
      - [Authentication](#authentication)
        - [(Uses Laravel Jetstream)](#uses-laravel-jetstream)
      - [CSS](#css)
        - [(Uses Tailwind CSS)](#uses-tailwind-css)
        - [(Using Tailwind within Laravel Jetstream)](#using-tailwind-within-laravel-jetstream)
      - [JS](#js)
        - [(Uses Vue.js Front-end)](#uses-vuejs-front-end)
        - [(Uses Inertia.js for development)](#uses-inertiajs-for-development)
      - [Webpack (JS/CSS/ASSET Bundler)](#webpack-jscssasset-bundler)
        - [(Uses Laravel Mix Wrapper To Simplify Webpack)](#uses-laravel-mix-wrapper-to-simplify-webpack)
  - [App APIs](#app-apis)
    - [Public User Accessable APIs](#public-user-accessable-apis)
      - [(Public API's Authenticate User Tokens Via Laravel Sanctum)](#public-apis-authenticate-user-tokens-via-laravel-sanctum)
        - [API Token Authentication](#api-token-authentication)
          - [API Tokens - Issuing](#api-tokens---issuing)
          - [API Tokens - Abilities](#api-tokens---abilities)
          - [API Tokens - Protecting Routes](#api-tokens---protecting-routes)
          - [API Tokens - Revoking Tokens](#api-tokens---revoking-tokens)
        - [SPA Token Authentication](#spa-token-authentication)
          - [SPA Auth - Configuration](#spa-auth---configuration)
          - [SPA Auth - Authenticating](#spa-auth---authenticating)
          - [SPA Auth - Authenticating - CSRF Protection](#spa-auth---authenticating---csrf-protection)
          - [SPA Auth - Authenticating - Logging In](#spa-auth---authenticating---logging-in)
          - [SPA Auth - Protecting Routes](#spa-auth---protecting-routes)
          - [SPA Auth - Authorizing Private Broadcast Channels](#spa-auth---authorizing-private-broadcast-channels)
        - [Private Broadcast Channel Authentication](#private-broadcast-channel-authentication)
        - [Testing User Accessible APIs (Laravel Sanctum Testing)](#testing-user-accessible-apis-laravel-sanctum-testing)
    - [Internal Clean Code Studio APIs](#internal-clean-code-studio-apis)
  - [](#)
  - [Brand](#brand)
    - [Clean Code Studio Branding](#clean-code-studio-branding)
      - [Canva (Create Visual Designs)](#canva-create-visual-designs)
      - [Icons (Stored/saved via canva account)](#icons-storedsaved-via-canva-account)
    - [Apply Brand To...](#apply-brand-to)
      - [Adding Brand To Admin Panel](#adding-brand-to-admin-panel)
      - [Adding Brand To Billing Sections](#adding-brand-to-billing-sections)
      - [Adding Brand To Notification Email Template](#adding-brand-to-notification-email-template)
    - [Clean Code Studio Online Presence](#clean-code-studio-online-presence)
      - [Website: https://cleancode.studio](#website-httpscleancodestudio)
      - [Youtube: https://youtube.com/c/cleancodestudio](#youtube-httpsyoutubecomccleancodestudio)
      - [LeetCode: https://leetcode.com/zhorton34/](#leetcode-httpsleetcodecomzhorton34)
      - [Github: https://github.com/zhorton34](#github-httpsgithubcomzhorton34)
      - [DevTo: https://dev.to/cleancode.studio](#devto-httpsdevtocleancodestudio)
      - [Twitter: https://twitter.com/cleancodestudio](#twitter-httpstwittercomcleancodestudio)
      - [Reddit:  https://reddit.com/user/cleancodestudio](#reddit--httpsredditcomusercleancodestudio)
      - [TikTok: https://www.tiktok.com/@cleancodestudio](#tiktok-httpswwwtiktokcomcleancodestudio)
      - [Instagram: https://www.instagram.com/cleancodestudio](#instagram-httpswwwinstagramcomcleancodestudio)
      - [Facebook: https://www.facebook.com/CleanCodeStudio](#facebook-httpswwwfacebookcomcleancodestudio)
      - [Packagist: https://packagist.org/packages/clean-code-studio](#packagist-httpspackagistorgpackagesclean-code-studio)
      - [LinkedIn: https://www.linkedin.com/company/cleancodestudio](#linkedin-httpswwwlinkedincomcompanycleancodestudio)
      - [Npm (Node Package Manager): https://npmjs.com/~zhorton999](#npm-node-package-manager-httpsnpmjscomzhorton999)
      - [Stack Overflow: https://stackoverflow.com/users/8541350/clean-code-studio](#stack-overflow-httpsstackoverflowcomusers8541350clean-code-studio)
  - [Deployment](#deployment)
    - [Laravel Forge (Server management & site deployment)](#laravel-forge-server-management--site-deployment)
    - [Staging Site](#staging-site)
      - [Stage Database](#stage-database)
    - [Production Site](#production-site)
      - [Production Database](#production-database)
  - [Clean Code Studio ~ Content Resources](#clean-code-studio--content-resources)
  - [Testing](#testing)
    - [Billing Tests (Laravel Spark)](#billing-tests-laravel-spark)
    - [Public Facing API Tests (Laravel Sanctum)](#public-facing-api-tests-laravel-sanctum)
  - [Posts/Videos/Screencasts & Notes (Clean Code Studio Content)](#postsvideosscreencasts--notes-clean-code-studio-content)
    - [FAANG Notes (Google Drive)](#faang-notes-google-drive)
    - [RESUME Notes (Google Drive)](#resume-notes-google-drive)
    - [DEV To (Written Blog Posts)](#dev-to-written-blog-posts)
    - [YouTube Videos (Screencasts)](#youtube-videos-screencasts)
    - [YouTube Playlists (Screencasts)](#youtube-playlists-screencasts)
    - [Youtube Community (Comments & Posts)](#youtube-community-comments--posts)
    - [YouTube About (With Links To Socials)](#youtube-about-with-links-to-socials)
    - [APIs to Retrieve Created Content (API Retrievable Clean Code Studio Content)](#apis-to-retrieve-created-content-api-retrievable-clean-code-studio-content)
      - [Dev To (Get Blogs API)](#dev-to-get-blogs-api)
      - [Youtube (Get Screencasts API)](#youtube-get-screencasts-api)
      - [Google Drive API](#google-drive-api)
  - [Terminal/Console/Command Line  Commands](#terminalconsolecommand-line--commands)
    - [`php artisan` Console Commands](#php-artisan-console-commands)
      - [`php artisan serve` (boot local server)](#php-artisan-serve-boot-local-server)
      - [`php artisan route:list` (see all routes)](#php-artisan-routelist-see-all-routes)
      - [`php artisan migrate:fresh --seed` (migrate tables to database and run seeders to populate database with dummy data)](#php-artisan-migratefresh---seed-migrate-tables-to-database-and-run-seeders-to-populate-database-with-dummy-data)
    - [`npm run` Console Commands](#npm-run-console-commands)
      - [`npm run dev` (compile assets once for local dev)](#npm-run-dev-compile-assets-once-for-local-dev)
      - [`npm run watch` (compile assets and watch for changes to re-compile)](#npm-run-watch-compile-assets-and-watch-for-changes-to-re-compile)
      - [`npm run production` (build application for production deployment)](#npm-run-production-build-application-for-production-deployment)
      - [`npm run index-readme` (Adds table of contents to read me)](#npm-run-index-readme-adds-table-of-contents-to-read-me)

<!-- END doctoc generated TOC please keep comment here to allow auto update -->

## Clean Code Studio


## Setup Local Dev Environment

### GitHub
```sh
git clone https://github.com/zhorton34/cleancodestudio && cd cleancodestudio
```

### Composer 
```php
composer install
```

### .env (Environment Variables)
```sh
mv .env.local .env
```

### Database 

#### .env (SQLite local) Settings for Database
```sh
DB_CONNECTION=sqlite
# DB_HOST=127.0.0.1
DB_PORT=3306
# DB_DATABASE=database
DB_USERNAME=root
DB_PASSWORD=
```

#### Migrate database tables and seed dummy data
```php
php artisan migrate:fresh --seed
```


### Compile Front-end Assets
```js
npm install && npm watch
```

### Boot Development Server
```php
php artisan serve
```


---

## Tech Stack 

---
### [PHP 8.0+](https://www.php.net/ChangeLog-8.php)
### [Laravel 8.0](https://laravel.com)
### [Vue JS 3.05](https://v3.vuejs.org/)

---

#### [Admin panel](https://cleancode.studio/admin)
##### [(Uses Laravel Nova v3.27.0)](https://nova.laravel.com)

---

#### [Billing](https://cleancode.studio/billing)
##### [(Uses Laravel Spark Next)](https://spark.laravel.com)
##### [(Uses Paddle Payment Gateway Via Spark Next)](https://paddle.com/)

---

#### [Authentication](https://cleancode.studio/login)
##### [(Uses Laravel Jetstream)](https://jetstream.laravel.com/2.x/concept-overview.html#laravel-fortify)



---

#### [CSS](https://github.com/zhorton34/cleancodestudio/tree/master/resources/css)
##### [(Uses Tailwind CSS)](https://tailwindcss.com/)
##### [(Using Tailwind within Laravel Jetstream)](https://jetstream.laravel.com/2.x/concept-overview.html#tailwind)

---

#### [JS](https://github.com/zhorton34/cleancodestudio/tree/master/resources/js)
##### [(Uses Vue.js Front-end)](https://vuejs.org)
##### [(Uses Inertia.js for development)](https://inertiajs.org)

---

#### [Webpack (JS/CSS/ASSET Bundler)]([https://webpack](https://webpack.js.org/))

##### [(Uses Laravel Mix Wrapper To Simplify Webpack)](https://laravel-mix.com)

---

## App APIs

---

### [Public User Accessable APIs](https://jetstream.laravel.com/2.x/features/api.html)

--

#### [(Public API's Authenticate User Tokens Via Laravel Sanctum)](https://laravel.com/docs/8.x/sanctum)


##### [API Token Authentication](https://laravel.com/docs/8.x/sanctum#api-token-authentication)

###### [API Tokens - Issuing](https://laravel.com/docs/8.x/sanctum#issuing-api-tokens)
###### [API Tokens - Abilities](https://laravel.com/docs/8.x/sanctum#token-abilities)
###### [API Tokens - Protecting Routes](https://laravel.com/docs/8.x/sanctum#protecting-routes)
###### [API Tokens - Revoking Tokens](https://laravel.com/docs/8.x/sanctum#revoking-tokens)


##### [SPA Token Authentication](https://laravel.com/docs/8.x/sanctum#spa-authentication)

###### [SPA Auth - Configuration](https://laravel.com/docs/8.x/sanctum#spa-configuration)
###### [SPA Auth - Authenticating](https://laravel.com/docs/8.x/sanctum#spa-authenticating)
###### [SPA Auth - Authenticating - CSRF Protection](https://laravel.com/docs/8.x/sanctum#csrf-protection)
###### [SPA Auth - Authenticating - Logging In](https://laravel.com/docs/8.x/sanctum#csrf-protection)
###### [SPA Auth - Protecting Routes](https://laravel.com/docs/8.x/sanctum#protecting-spa-routes)
###### [SPA Auth - Authorizing Private Broadcast Channels](https://laravel.com/docs/8.x/sanctum#authorizing-private-broadcast-channels)

##### [Private Broadcast Channel Authentication](https://laravel.com/docs/8.x/sanctum#authorizing-private-broadcast-channels)
##### [Testing User Accessible APIs (Laravel Sanctum Testing)](https://laravel.com/docs/8.x/sanctum#testing)
---


### Internal Clean Code Studio APIs 

---

##

## Brand


---

### [Clean Code Studio Branding]((https://drive.google.com/drive/folders/1GG6K-uWiYQoLM5HjUI38adj9BP8yj8LC?usp=sharing))

#### [Canva (Create Visual Designs)](https://canva.com)
#### [Icons (Stored/saved via canva account)](https://canva.com)


### Apply Brand To...
#### [Adding Brand To Admin Panel](https://nova.laravel.com/docs/3.0/customization/themes.html#overview)
#### [Adding Brand To Billing Sections](https://spark.laravel.com/docs/1.x/spark-stripe/customization.html#branding)
#### [Adding Brand To Notification Email Template](https://medium.com/@christianjombo/customizing-laravels-default-notification-email-template-adding-a-logo-and-changing-ff6f107dd640)




### [Clean Code Studio Online Presence](https://youtube.com/c/cleancodestudio/about)

#### Website: https://cleancode.studio
#### Youtube: https://youtube.com/c/cleancodestudio
#### LeetCode: https://leetcode.com/zhorton34/
#### Github: https://github.com/zhorton34
#### DevTo: https://dev.to/cleancode.studio
#### Twitter: https://twitter.com/cleancodestudio
#### Reddit:  https://reddit.com/user/cleancodestudio
#### TikTok: https://www.tiktok.com/@cleancodestudio
#### Instagram: https://www.instagram.com/cleancodestudio
#### Facebook: https://www.facebook.com/CleanCodeStudio
#### Packagist: https://packagist.org/packages/clean-code-studio
#### LinkedIn: https://www.linkedin.com/company/cleancodestudio
#### Npm (Node Package Manager): https://npmjs.com/~zhorton999
#### Stack Overflow: https://stackoverflow.com/users/8541350/clean-code-studio



---




## Deployment

---
### [Laravel Forge (Server management & site deployment)](https://forge.laravel.com)


### [Staging Site](https://stage.cleancode.studio)

#### Stage Database
- User: stage
- Database: stage

### [Production Site](https://cleancode.studio)


#### Production Database
- User: forge
- Database: forge



## Clean Code Studio ~ Content Resources

---




## Testing

--


### [Billing Tests (Laravel Spark)](https://spark.laravel.com/docs/1.x/spark-stripe/testing.html)

### [Public Facing API Tests (Laravel Sanctum)](https://laravel.com/docs/8.x/sanctum#authorizing-private-broadcast-channels)


---


## Posts/Videos/Screencasts & Notes (Clean Code Studio Content)

---

### [FAANG Notes (Google Drive)](https://drive.google.com/drive/folders/1ZBFsNxBXTw6Sjk3KSY5Te9gc50lphxji?usp=sharing)

### [RESUME Notes (Google Drive)](https://drive.google.com/drive/folders/1ES8gDexI4OyIUdK6q8xowtvYSGP2oRgk?usp=sharing)

### [DEV To (Written Blog Posts)](https://dev.to/cleancodestudio)

### [YouTube Videos (Screencasts)](https://www.youtube.com/c/CleanCodeStudio/videos)

### [YouTube Playlists (Screencasts)](https://www.youtube.com/c/CleanCodeStudio/playlists)

### [Youtube Community (Comments & Posts)](https://www.youtube.com/c/CleanCodeStudio/community)

### [YouTube About (With Links To Socials)](https://www.youtube.com/c/CleanCodeStudio/about)




### APIs to Retrieve Created Content (API Retrievable Clean Code Studio Content)

---

#### [Dev To (Get Blogs API)](https://docs.forem.com/api/)
#### [Youtube (Get Screencasts API)](https://developers.google.com/youtube/v3)

#### [Google Drive API](https://developers.google.com/drive)




---


## Terminal/Console/Command Line  Commands


---


### `php artisan` Console Commands

---


#### `php artisan serve` (boot local server)
#### `php artisan route:list` (see all routes)
#### `php artisan migrate:fresh --seed` (migrate tables to database and run seeders to populate database with dummy data)


---

### `npm run` Console Commands

---

#### `npm run dev` (compile assets once for local dev)
#### `npm run watch` (compile assets and watch for changes to re-compile)
#### `npm run production` (build application for production deployment)
#### `npm run index-readme` (Adds table of contents to read me)






---


{% user cleancodestudio %}


---

Did you know I have a newsletter? 📬

If you want to get notified when I publish new blog posts or make major project announcements, head over to 

{% codepen https://codepen.io/zhorton34/pen/BaRPYdB %}