Phase 1: Prep Day (Day 1)

1. Pick your poison

Learning Laravel. I haven’t actively used php on purpose for anything since Late php 4/Early php 5. I want to jump back in and refresh my php skills so I plan to do so by learning the Laravel framework.

2. Define the essence

To build a functional multi-tenant system, I need to focus on these sub-skills:

  • Authentication & Profile: Implementing secure login (Laravel Breeze) so users can manage their own accounts.
  • CRUD: Allowing users to Create, Read, Update, and Delete content.
  • Data Ownership: Creating data relationships to ensure content is isolated to the correct customer.
  • Multi-Site Routing: Learning how Laravel handles subdomains and maps custom external domains to specific customer data.

3. Name the prize

The Goal: A working Multi-Tenant CMS. A user should be able to sign up, get a dedicated subdomain or path, pick a theme, and manage their own unique set of posts/pages without seeing anyone else’s data.

4. Clear the deck

  • Environment:
    • Install php, composer, laravel
    • Set up github repo
    • Create the laravel project
  • Naming: The CMS will be called RhizomeCMS

5. Burn the ships

I will spend 60 minutes a day for the next 20 days building a Multi-tenant CMS so I can learn Laravel.