Building Lamplighter.io on Laravel

B2e6e07e55e751bdaa32813ec0a9dd79?s=47 Ryan Masuga
April 24, 2014

Building Lamplighter.io on Laravel

We had a great idea for a web-based software application. Now what? The idea was the easy part. Now it's time to execute. Should we use a framework? Should we try something new? How comfortable are we in tying a product to an open source tool?

I discuss the decision-making process behind developing Lamplighter.io on Laravel, the lessons we learned (and are learning) along the way, and why we weren't afraid to shift gears and dive in.

B2e6e07e55e751bdaa32813ec0a9dd79?s=128

Ryan Masuga

April 24, 2014
Tweet

Transcript

  1. @masuga @masugadesign @lamplighterapp SaaS on OSS Building Lamplighter.io on Laravel

  2. • Masuga Design Owner Client work, mostly EE • devot-ee.com

    Proprietor Marketplace for EE • placeimg.com Advisor Side Project • lamplighter.io Guy who stands by in awe Ryan Masuga
  3. Comfort Zone

  4. • Builds confidence • Cures boredom • Satisfies urge to

    grow • Increases productivity Benefits of the New Mike Taber, @SingleFounder Speaking at MicroConf
  5. Let’s Make a Product!

  6. 1. devot:ee Monitor Started with a “basic” project. 2. expressionmonitor.com

    Expand the idea: tie in w/site to see in one place What’s the Big Idea? We could gather information from—and store information about—all your sites in a centralized spot...
  7. Monitor all your sites in one place.

  8. • Selfish Solve our own problem(s) • Altruistic Help other

    shops like ourselves • Realistic From $0 to money quickly What’s Our Purpose?
  9. What to Use? Endless choices. • Too rigid • Sole

    purpose: content • Lots of unused code • Potential license restrictions • Security • Time sink • Little ROI • Why recreate wheel? • Legwork is done • Blank slate • How to decide? CMS Hand Roll Framework
  10. Decisions, Decisions... Stay within the realm of feasibility • What

    do we already know? • This is a business. Let’s not go off a cliff “just because.” • A few options: Zend 2, Symfony 2, and...
  11. Laravel

  12. • Well documented • Good community support base • Logical,

    reasonable learning curve • Template language is easy (for front-end people) • Dev friendly stuff: Composer and migrations Laravel It has haters!
  13. Laravel Benefits Modern, scalable, powerful routing, Composer integration. We can

    use the most up-to-date PHP libraries and packages. We can use best-in-class stuff.
  14. Beer Truck Rule

  15. Let’s Use the Best LARAVEL SSD Drives, CDN, scalable, Nevin.

    We’re now ready for the Apocalypse.
  16. Making the Product

  17. Use the Right Tool for the Job

  18. LARAVEL

  19. Laravel Highlights Determining Factors • Routing • Commands (Artisan) •

    Eloquent ORM • Front Templating
  20. • Nice URLs • Custom Subdomains COMPANY.lamplighter.io • Before and

    after filters (SSL, authentication, permissions) Routing
  21. Routing Nice URLs: Custom Landing Pages https://lamplighter.io/expressionengine/devotee https://lamplighter.io/expressionengine/peers

  22. Routing Nested: SSL, Subdomains, Auth, Permissions

  23. 1. Put site in maintenance mode 2. Deploy the code

    changes 3. Install, update, or remove necessary dependencies 4. Make database changes 5. Bring site back up Commands (Artisan) php artisan deploy:heavy --stage=prod
  24. Eloquent ORM Relationship-Heavy Application ORM (Object-Relational Mapping) is a tool

    that lets you query and manipulate data from a database using an object paradigm. What.
  25. Eloquent ORM Relationship-Heavy Application

  26. Eloquent ORM Relationship-Heavy Application

  27. Templating (Blade)

  28. Drawbacks

  29. One man. One framework. What could go wrong?

  30. “...not a widespread issue”

  31. “...not a widespread issue”

  32. • Don’t Trap Yourself Don’t dig yourself into a hole.

    • Find the Time to Try Something New If solo, carve out time to learn. If team, experiment! • Don’t be a Fanboy. Moderation in all things, always beware of the Kool Aid. • Use the Right Tool for the Job EE for large client sites; Craft for newer sites. Slim or Laravel for internal projects...when it’s right Conclusion
  33. Ship It.

  34. We Shipped! January February March April ? ? ?

  35. 6% 7% 7% 80% 4 months 5,755 add-ons/plugins 321 sites

  36. Laravel Resources • Laracasts - https://laracasts.com/ • leanpub.com/codebright • laravel.com

    SaaS (+Bootstrapping) Resources • @patio11, kalzumeus.com • @brennandunn • Bootstrapped.fm Forums - http://discuss.bootstrapped.fm/ • Jason Lemkin @SaaStr - http://saastr.com/ Resources
  37. Thank You. https://lamplighter.io/peers 50% off first 3 months (until May

    15, 2014) @masuga @masugadesign @lamplighterapp http://masugadesign.com https://lamplighter.io