Laracon DB
Laracon DB
Laracon AU 2019 in Sydney, AU

Behind the scenes of Flare

The talk discusses structuring large Laravel applications using domains and improving frontend interactions using TypeScript. The speaker shares examples from Flare, an exception tracking application, to demonstrate how to organize code into domains for better maintainability. They also cover authorization handling and type safety between backend and frontend using TypeScript.

Testing Javascript: Building JavaScript applications you won't hate

A comprehensive talk about testing JavaScript and frontend applications, focusing on making testing more manageable and enjoyable. The speaker covers various testing tools and approaches, from static analysis to end-to-end testing, with practical examples of how to implement them effectively.

How to build an API in a day with Laravel API Boilerplate

Max presents his Laravel API Boilerplate project, which helps developers quickly build REST APIs. The boilerplate provides out-of-the-box functionality for common API features like CRUD operations, transformers, authorization, and case conversion between snake_case and camelCase. He demonstrates how to create API resources, handle relationships, and implement validation with minimal code while maintaining flexibility for custom business logic.

Are logs a software engineer's best friend? Yes - follow these best practices

A comprehensive talk about the importance of application logging in Laravel and general software development. The speaker discusses why logs are critical for debugging and monitoring applications, best practices for implementing logging, and demonstrates practical logging implementation using Laravel with services like Log Entries and Google Cloud Run.

The Laravel developer's guide to Vue SPAs

Jess Archer shares her experience building a single page application (SPA) with Laravel and Vue.js, focusing on practical solutions to common challenges. She discusses authentication approaches, state management with Vuex, and frontend optimization techniques based on lessons learned while building Giftie Duck, a gift reminder service.

Types & static analysis are good in PHP

Sam Greenwood presents a comprehensive talk on the importance of types and static analysis in PHP and Laravel applications. He discusses different types of typing systems, the benefits of static analysis tools like PHPStan, Psalm, and Larastan, and how these tools can help improve code quality and catch potential errors before runtime, especially in legacy applications.

Making Single Page Apps accessible

The talk focuses on making single page applications more accessible, delivered by Jess, a front-end developer and accessibility consultant. She discusses key accessibility considerations including semantic HTML, form labeling, keyboard navigation, and focus management in React and Vue applications. The presentation emphasizes practical implementations and testing methods to ensure web applications are usable by people with disabilities.

CSS Grid: What is this magic?!

This talk provides a comprehensive introduction to CSS Grid, covering its evolution from early web layouts through to modern implementation. The speaker demonstrates practical examples of building a note-taking app layout using CSS Grid, discusses browser support including IE compatibility issues, and shares various learning resources. The talk emphasizes CSS Grid's advantages over older layout methods and shows how to implement responsive layouts with features like auto-fill and subgrid.

Crafting maintainable Laravel applications

Jason McCreary presents 10 tips for creating maintainable Laravel applications based on his experience with Shift and 20 years of programming. He covers topics ranging from staying current with Laravel versions to proper testing practices, emphasizing code readability and framework conventions. The talk focuses on practical approaches to improve application maintainability through proper structure, dependency management, and adherence to Laravel's design patterns.

Behaviour Driven Development with Laravel

Marcus Moore presents a talk about behavior-driven development (BDD) in Laravel, explaining how BDD helps bridge communication gaps between stakeholders and developers. He shares his journey from working at a small school to an agency, where he discovered the need for better requirement gathering and testing processes. The talk covers the three stages of BDD - discovery, formulation, and automation - with practical examples using Behat and Laravel integration.

Zero Knowledge: you can't leak what you don't know

This talk discusses approaches to securing data and communications in software-as-a-service applications, particularly focusing on end-to-end encryption, zero-knowledge systems, and practical ways to protect user data. The speaker uses a banking/financial data example to illustrate concepts around encrypting sensitive information while still maintaining service functionality. The talk concludes with practical advice for incrementally improving data security in applications.

Reformat, Refactor, Replace: A practical guide for dealing with legacy software

The speaker discusses strategies for modernizing and refactoring legacy PHP applications. He covers the challenges of dealing with old, poorly structured codebases and presents a methodical approach to upgrading them using the 'strangler fig' pattern. The talk emphasizes the importance of securing buy-in, implementing code standards gradually, and carefully migrating functionality to new systems while maintaining business operations.

Not a designer? You can make your website more accessible

A talk focusing on web accessibility and inclusive design principles. The speaker discusses how to make websites more accessible through proper typography, color contrast, semantic HTML, and interactive elements. They emphasize considering users with different abilities and situations while designing websites, including those using assistive technologies or dealing with temporary impairments.

Level up: The super dev

A talk about what makes a 'super developer', challenging common perceptions by arguing that the best developers are those who are 'slow' (thoughtful), 'selfish' (maintain work-life balance), 'lazy' (avoid repetitive code), like to argue (engage in healthy debate), and write 'bad' code (embrace imperfection and learning). The speaker emphasizes the importance of personal wellbeing, setting boundaries, and avoiding toxic hustle culture in development.

Expressive Eloquent collections

Tim McDonald discusses how to make Laravel Eloquent collections more expressive and maintainable. He explores how collections can be extended to better reflect domain language, reduce code duplication, and improve readability. The talk covers moving logic from models to custom collections, sharing filtering APIs between collections and scopes, and rethinking what Eloquent really means as a complete system rather than just models.

Managing a team building a modular monolith in Laravel

Steven, the head of development at Figured, discusses how his company builds a modular monolith using Laravel and manages self-organizing development pods. He explains their approach to maintaining code consistency while giving development teams autonomy, their package-based architecture, and how they enable quick deployment cycles while maintaining code quality.

Package design 101

The talk demonstrates how to create and publish Laravel packages, walking through the creation of a badge/gamification package as an example. The speaker shows how to set up package boilerplate, create migrations, implement models and traits, set up testing with Orchestra TestBench, and create facades. The presentation emphasizes that package development isn't complicated and provides practical guidance on structuring and testing Laravel packages.