51
Crazy Laravel Stack (Fantastically Powerful)
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/
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 -- 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.
There's reddit threads, Github repos, udemy courses, leetcode submissions/feedback, etc...
Buutttt - Here's the crazy part (And a sliiiggghtttly embarrassing admission)!!.
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)!!_**
- API Token Authentication
- SPA Authentication
- Mobile Application Authentication
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 - Framework for web artisans
- Laravel Mix - Webpack Asset Compilation/Webpack Wrapper
- Laravel Sail - Local Docker Environment for Laravel
- Laravel Spark - SaaS App Scaffolding
- Laravel Spark - Integrates Billing Features Into Laravel Application
-
Laravel Cashier Paddle
- Laravel Cashier Paddle provides an expressive, fluent interface to Paddle's subscription billing services.
- Laravel Nova - Admin Panel for Laravel (Eloquent Models)
- Laravel Scout
- Laravel Scout - Optional driver for adding full-text search to your eloquent models
- 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
- Laravel Fortify is a frontend agnostic authentication backend implementation for Laravel
- 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 - 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 - 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 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
npm i doctoc --save-dev
2. Open
// package.json
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"
},
`
"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
Table of Contents
- Setup Local Dev Environment
- GitHub
- Composer
- .env (Environment Variables)
- Database
- Compile Front-end Assets
- Boot Development Server
- Tech Stack
- PHP 8.0+
- Laravel 8.0
-
Vue JS 3.05
- Admin panel
- (Uses Laravel Nova v3.27.0)
- Billing
- (Uses Laravel Spark Next)
- (Uses Paddle Payment Gateway Via Spark Next)
- Authentication
- (Uses Laravel Jetstream)
- CSS
- (Uses Tailwind CSS)
- (Using Tailwind within Laravel Jetstream)
- JS
- (Uses Vue.js Front-end)
- (Uses Inertia.js for development)
- Webpack (JS/CSS/ASSET Bundler)
- (Uses Laravel Mix Wrapper To Simplify Webpack)
- App APIs
- Public User Accessable APIs
- Internal Clean Code Studio APIs
- Brand
- Clean Code Studio Branding
- Apply Brand To...
-
Clean Code Studio Online Presence
- 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)
- Staging Site
- Production Site
- Clean Code Studio ~ Content Resources
- Testing
- Billing Tests (Laravel Spark)
- Public Facing API Tests (Laravel Sanctum)
- Posts/Videos/Screencasts & Notes (Clean Code Studio Content)
- FAANG Notes (Google Drive)
- RESUME Notes (Google Drive)
- DEV To (Written Blog Posts)
- YouTube Videos (Screencasts)
- YouTube Playlists (Screencasts)
- Youtube Community (Comments & Posts)
- YouTube About (With Links To Socials)
- APIs to Retrieve Created Content (API Retrievable Clean Code Studio Content)
- Terminal/Console/Command Line Commands
-
php artisan
Console Commands -
npm run
Console Commands
sh
git clone https://github.com/zhorton34/cleancodestudio && cd cleancodestudio
php
composer install
sh
mv .env.local .env
`shDB_CONNECTION=sqlite
DB_PORT=3306
DB_USERNAME=root
DB_PASSWORD=
`
DB_PASSWORD=
`
php
php artisan migrate:fresh --seed
js
npm install && npm watch
php
php artisan serve
--
Website: https://cleancode.studio
LeetCode: https://leetcode.com/zhorton34/
Github: https://github.com/zhorton34
Twitter: https://twitter.com/cleancodestudio
Instagram: https://www.instagram.com/cleancodestudio
Facebook: https://www.facebook.com/CleanCodeStudio
Npm (Node Package Manager): https://npmjs.com/~zhorton999
Stack Overflow: https://stackoverflow.com/users/8541350/clean-code-studio
--
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
51