🚀 Available now

Develop web and mobile apps
from the same codebase.

All achieved using open source technologies.
Laravel, VueJS and CapacitorJS logos
Sign up for our newsletter and get two free chapters:
👉 Buy now if you're already convinced!
The Ultimate Guide to Building APIs & Single Page Applications with Laravel + VueJS + Capacitor Book Cover
Maintaining multiple codebases sucks.

Hi, I am Dan Pastori, a certified Laravel developer who was frustrated with writing a beautiful web app only to realize I had to rewrite the app again if I wanted it on my mobile phone.

I’ve been making web and mobile applications with my friend Jay Rogers for the last 10 years. Jay helps with the design, but I am the only developer.

Working on a two-person team can be challenging when you cannot throw another person at the problem.

Supporting three separate codebases for web, iOS and Android is overwhelming.

Instead of hiring someone, we discovered a handful of tools that allow us to create web and mobile applications from the same codebase. Best of all, everything communicates back to a single API.

We’re now able to deliver and maintain apps faster than ever before.

Don't just take our word for it...
"This book does a tremendous job of explaining the ins and outs of modern development with an eye on clarity and simplicity. And now, if you'll excuse me, I have a TON of refactoring to do on my app!"
Avatar for James Hull testimonial James Hull / Chief Narrative Officer, Narrative First
This isn't just a book.
It's everything you need to start building more with less code.
380+ page eBook

Everything is organized in easy to consume chapters with a ton of code examples.

The book is avaialable in PDF, EPUB, and MOBI formats so you can follow along no matter what device you choose. We give you the perfect amount of knowledge you need to know.

Screenshot of source code repository
Instant source code repository access

Don’t just guess how the code works, see it all in action — in realtime. You’ll even be able to see how we run things on our production branch.

Private community access

Don’t learn by yourself. Get instant access to an online community.

Have your questions answered by the community and meet others who are on the same journey as you.

Screenshot of community forum granted access with purchase
Icon for videos included with the book
In-depth video tutorials

Sometimes reading just isn’t enough. We created over 10 video tutorials that show you how to set up your development environment, configure your routes, and more.

Learn from an app that’s actually running in production

This isn’t another “To-Do List” app. We created an app called ROAST that has many different user permissions levels. This app has real-world problems, with real-world solutions.

Optimized Sketch & Figma templates for Capacitor

Designing icons for mobile apps should not be difficult.

These templates are specifically optimized for Capacitor and will save you hours from fighting the nitpicky requirements for app icons and splash screens. You'll be able to export your graphics in minutes.

Here's what's inside...
Introduction Understand what you'll be learning.
Hello & Welcome Pre-Requisites What We're Building Why We Chose Laravel and NuxtJS
Configuring Laravel as an API Build a solid & flexible foundation for your app.
Configuring Your Development Environment Installing Laravel 8.x Setting Up Laravel to be an API Preparing Your API for Automated Testing
Using NuxtJS for Web & Mobile Learn how everything will begin in NuxtJS.
Installing and Configuring NuxtJS Understanding NuxtJS' Structure Abstracting Your API Calls Into Reusable Modules Managing Events With the Event Bus Saving Time With Mixins Building Your First Layout
Using Laravel Sanctum for API Authentication Prepare your Laravel API for secure authentication.
Building Secure Authentication API Endpoints Implementing Cross-Origin Resource Sharing (CORS) Laravel Sanctum vs. Laravel Passport Installing and Configuring Laravel Sanctum Implementing Authentication and Registration With Laravel Sanctum Writing Authentication Tests
Set Up NuxtJS to Properly Authenticate With Your API Securely connect NuxtJS to Laravel.
Configuring NuxtJS Auth Module + Laravel Sanctum Building Authentication & Registration Components Handling Guest Users With NuxtJS Middleware Implementing an Email Validation System for New Registrations
The Full-Stack Feature Approach Learn how to create a feature from start to finish.
Using the Proper Methods for API Requests Building a Feature From Start to Finish
Managing App Resources Through an API Learn how to design RESTful resources.
Efficiently Building API Endpoints for Data Queries Using Our API Endpoints With NuxtJS Accessing Resources With Human-Readable API Endpoints Uploading Files Implementing Many-To-Many Relationships Handling "Parent-Child" Relationships
Permissions, Validations, and Security Prevent users from accessing other parts of your app.
Preventing Unauthorized Access Using Middleware Securing API Endpoints With Laravel Gates & Policies Implementing Laravel's Custom Validation Rules Securing Our Front-End With NuxtJS Middleware Handling Unauthorized Actions on the Front-End Displaying API Errors to Your Users
Build iOS & Android Apps for Capacitor Create two mobile apps in one command from the same codebase.
Installing and Configuring Capacitor Speeding Up Builds With A Single Command Server-Side Rendering vs. Single-Page Application Using Native Phone Features In Your App Deep-Linking: Open Your App From The Web Token-Based Authentication with Laravel Sanctum
Implementing Social Logins Allow users to sign in with their social profiles.
Installing and Configuring Laravel Socialite Allowing logins from Facebook, Google, and Twitter Securely Exchanging Tokens Between an OAuth Provider and Your API
Opening Your API to Others Allow other developers to integrate with your app.
Install and configure Laravel Passport for 3rd party access Getting Laravel Passport and Laravel Sanctum to Work Together Determining What API Endpoints Should Be Available to 3rd Parties
API Tips, Tricks, and Gotchas Don't learn this the hard way.
Securing Sensitive Data Configure Insomnia REST Client Configure Postman REST Client Tips & Tricks for Testing APIs Handling "Imperfect" RESTful Routes Benefits of API Versioning RESTful Response Codes: How To Use Them How Cross-Origin Resource Sharing (CORS) Works
Single-Page Application Tips, Tricks, and Gotchas Prevent yourself from getting a headache.
The Truth About Spa Security When to Use Vuex
Icon for videos included with book Video Tutorials Sometimes words just aren't enough.
Why Build an API + Spa? Adding a Feature From Start to Finish Using Postman With Laravel Sanctum Testing your API with Postman Using Insomnia as a REST client With Laravel Sanctum Testing your API with Insomnia Setting up Laravel Sanctum with NuxtJS for Web Creating an iOS & Android App From The Same Codebase with Capacitor Structuring a GET Request Creating API Modules in NuxtJS Customizing Mailables With Laravel Validating Emails for New Registrations with a SPA + API Isolating Features Based On The App (Web vs. Mobile App)
This is for you if...
😩 You feel overwhelmed trying to support web and mobile apps 😕 You don't know where to get started with an API-driven application 😅 You are concerned about SPA + API authentication and security 😎 You want to learn concepts from an app that you can actually use
This isn't for you if...
Do not buy book if This is the first app you are trying to build Do not buy book if Your app does not need to run in the web and also on native mobile Do not buy book if You have no interest in learning concepts from Laravel or Vue.js Do not buy book if You're trying to build a 3D game or application
Get the book and more
Choose the package right for you.
The Essentials
$45 $35 USD
The Ultimate Guide to Building APIs & Single Page Applications with Laravel + VueJS + Capacitor Book Cover
Green check mark for features included with purchase The 380+ page book in PDF, EPUB, and MOBI
Green check mark for features included with purchase Sketch & Figma icon templates optimized for Capacitor
Green check mark for features included with purchase Lifetime access & updates
Buy Now
The Complete Package
$295 $145 USD
Icon for videos included with book The Ultimate Guide to Building APIs & Single Page Applications with Laravel + VueJS + Capacitor Book Cover Icon for source control and community access included with the book
Green check mark that includes the book with purchase The 380+ page book in PDF, EPUB, and MOBI
Green check mark that includes the source code with purchase Production source code access to an app called ROAST
Green check mark that includes private forum access with purchase Private forum access where you can meet & get help from others
Green check mark that includes in depth video tutorials with purchase In-depth video tutorials Coming Soon
Green check mark that includes Sketch & Figma icon templates optimized for Capacitor with purchase Sketch & Figma icon templates optimized for Capacitor
Green check mark that includes lifetime access with purchase Lifetime access & updates
Buy Now
The amount of time that you'll save is totally worth it! 🚀 This is our early access sale. You're getting a ton of cool stuff and locking in your price forever. Free updates!
Get a free sample Enter your email below and we'll send you two free chapters.
Frequently Asked Questions
How long do I have to wait to get my forum and source code access?

You'll get instant access after your purchase. Here’s how it works.

What formats are the files in?
  • Book: PDF, MOBI, EPUB
  • Videos: MP4
Are physical copies available?

If things continue to move well, we may release a physical copy in 2022.

Can I get an invoice?

After your purchase, Gumroad will email a receipt with where you can click "generate an invoice".

Can I upgrade from the "Essentials" to the "Complete Package"?

Yes! You can do this at anytime. Click here to instantly upgrade and you'll only pay the difference of the packages.

Is the book available in multiple languages?

The book is available in English, but you can use Google Docs to translate the PDF into your native language.

How can I contact you?

Just shoot us an email at [email protected]