Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Oct 2023 meetup #30

Merged
merged 1 commit into from
Nov 5, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/atom.xml

Large diffs are not rendered by default.

Binary file not shown.
36 changes: 4 additions & 32 deletions docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -45,44 +45,16 @@
<div class="content">

<div class="container p-0">
<img class="w-100" src="&#x2F;images&#x2F;using-hasura-to-add-a-graphql-api-to-existing-applications.svg" alt="Using&#x20;Hasura&#x20;to&#x20;add&#x20;a&#x20;GraphQL&#x20;API&#x20;to&#x20;existing&#x20;applications">
<img class="w-100" src="images/elephpant_pile.webp" alt="ElePHPant Pile">
</div>
<div class="container bg-white pt-5">
<div class="row px-3 pb-5">
<div class="col-md-12">
<p>Join us on
<time datetime="2023-09-14T19:00:00-04:00" style="display:inline">September 14th, 2023</time>
as Anirudh Sanjeev presents</p>
<h2 class="mb-4 font-weight-bold">Using Hasura to add a GraphQL API to existing applications</h2>
<p class="m-0">
<p>Hasura is an open-source application written in Haskell which provides a robust GraphQL API for any Postgres and MySQL database. This talk will provide a brief introduction to Hasura but focus more on pathways to integrate it into an existing PHP application - with a Laravel example.</p>
<p>We will cover:</p>
<ul>
<li>Authentication</li>
<li>Access control of database records</li>
<li>Applying mutations in server code</li>
</ul>

</p>
<h3>Presented by Anirudh Sanjeev</h3>
<p><p>Anirudh is a Full Stack Engineer living near Toronto. He enjoys building things with PHP, Vue and Tailwind, and tinkering with vintage audio equipment.</p>
</p>

<p>RSVP:
<a href="https://www.meetup.com/austinphp/events/xsbbctyfcmbsb/">Austin</a>,
<a href="https://www.meetup.com/bostonphp/events/293994742/">Boston</a>,
<a href="https://www.meetup.com/kcphpug/events/zlfpzsyfcmbsb/">Kansas City</a>,
<a href="https://www.meetup.com/seaphp/events/295371487/">Seattle</a>,
<a href="https://www.meetup.com/utah-php-user-group/events/spfxftyfcmbsb/">Utah</a>
</p>
</div>
<div class="col-md-12 text-center">
<h1>Do you have a topic you love to talk about? Share it with the group!</h1>
</div>
</div>
</div>

<div class="container py-5 px-4 bg-secondary text-center">
<h1 class="text-white font-weight-bold">Do you have a topic you love to talk about? Share it with the group!</h1>
</div>

<div class="container bg-white pt-5">
<div class="row px-3 pb-5">
<div class="col-md-12 text-center">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,8 @@ <h3>Presented by Anirudh Sanjeev</h3>
<div class="col-12 py-4">
<div class="btn-group btn-group-lg w-100">
<button type="button" class="btn btn-outline-primary" onclick="window.location.href='/meetups/2023/08/10/mastering-resilience-my-accidental-acting-adventure.html'"><i class="fa fa-angle-left mr-2"></i> Previous meetup: Mastering Resilience: My Accidental Acting Adventure</button>
</div>
<button type="button" class="btn btn-outline-primary" onclick="window.location.href='/meetups/2023/10/12/architecture-design-patterns-for-php.html'">Next meetup: Architecture Design Patterns for PHP<i class="fa fa-angle-right ml-2"></i></button>
</div>
</div>

<!-- Footer Start -->
Expand Down
94 changes: 94 additions & 0 deletions docs/meetups/2023/10/12/architecture-design-patterns-for-php.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>MergePHP</title>
<meta content="width=device-width, initial-scale=1.0" name="viewport">
<link rel="alternate" type="application/rss+xml" title="RSS Feed for mergephp.com" href="/atom.xml">
<link rel="apple-touch-icon" sizes="180x180" href="/icons/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="16x16" href="/icons/favicon-16x16.png">
<link rel="icon" type="image/png" sizes="32x32" href="/icons/favicon-32x32.png">
<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico">
<link rel="manifest" href="/icons/site.webmanifest">
<link rel="mask-icon" href="/icons/safari-pinned-tab.svg" color="#000000">

<!-- Google Fonts -->
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:300;400;600;700;800&display=swap" rel="stylesheet">

<!-- Font Awesome -->
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.10.0/css/all.min.css" rel="stylesheet">

<!-- Customized Bootstrap Stylesheet -->
<link href="/css/style.css" rel="stylesheet">
</head>

<body>
<div class="wrapper">
<div class="sidebar">
<div class="sidebar-text d-flex flex-column h-100 justify-content-center text-center">
<a href="/"><img class="mx-auto d-block bg-primary img-fluid mb-4" alt="MergePHP Logo" src="/images/logo.jpg"></a>
<p class="mb-4">
MergePHP meets the second Thursday of every month at 19:00 Eastern/16:00 Pacific
</p>
<div class="d-flex justify-content-center mb-5">
<a class="btn btn-outline-primary mr-2" title="Twitter" href="https://twitter.com/mergephp"><i class="fab fa-twitter"></i></a>
<a class="btn btn-outline-primary mr-2" title="YouTube" href="https://www.youtube.com/c/MergePHP"><i class="fab fa-youtube"></i></a>
<a class="btn btn-outline-primary mr-2" title="LinkedIn" href="https://www.linkedin.com/company/mergephp/"><i class="fab fa-linkedin-in"></i></a>
<a class="btn btn-outline-primary mr-2" title="Mastodon" href="https://phpc.social/@merge"><i class="fab fa-mastodon"></i></a>
<a class="btn btn-outline-primary mr-2" title="RSS" href="/atom.xml"><i class="fa fa-rss"></i></a>
</div>
</div>
<div class="sidebar-icon d-flex flex-column h-100 justify-content-center text-right">
<i class="fas fa-2x fa-angle-double-right text-primary"></i>
</div>
</div>
<div class="content">

<div class="container p-0">
<img class="w-100" src="/images/architecture-design-patterns-for-php.webp" alt="Architecture Design Patterns for PHP">
</div>
<div class="container bg-white pt-5">
<div class="row px-3 pb-5">
<div class="col-md-12">

<h2 class="mb-4 font-weight-bold">Architecture Design Patterns for PHP</h2>
<div class="d-flex mb-3">
<time datetime="2023-10-12T19:00:00-04:00" class="mr-3 text-muted"><i class="fa fa-calendar-alt"></i> October 12th, 2023</time>
</div>

<article>
<p>Understanding the various code architecture design patterns can take years of hands-on experience, and benefits from surveying the wider development community. Get all caught up with this overview of a variety of best-practice patterns, including Strategy, Factory, Adapter, Facade, Repository, and more. Learn about the different pattern classifications, dig into pros and cons for each pattern, discuss SOLID implementation considerations, and see useful code examples to get you using each pattern.</p>

</article>

<h3>Presented by Mark Niebergall</h3>
<p><p>Mark Niebergall is a security-minded PHP Senior Software Engineer and Team Lead at a cybersecurity software company, with many years of hands-on experience with PHP projects. He is the Utah PHP User Group Co-Organizer, a regular conference speaker, and an occasional author. Mark has a Masters degree in MIS, is CSSLP and SSCP cybersecurity certified, and volunteers for (ISC)2 security exam development. Mark enjoys endurance sports, being outdoors, and teaching his five sons how to push buttons and use technology.</p>
</p>

</div>
</div>
</div>

<div class="col-12 py-4">
<div class="btn-group btn-group-lg w-100">
<button type="button" class="btn btn-outline-primary" onclick="window.location.href='/meetups/2023/09/14/using-hasura-to-add-a-graphql-api-to-existing-applications.html'"><i class="fa fa-angle-left mr-2"></i> Previous meetup: Using Hasura to add a GraphQL API to existing applications</button>
</div>
</div>

<!-- Footer Start -->
<div class="container py-4 bg-secondary text-center">
<p class="m-0 text-white">Participating Groups:
Atlanta, Austin, Boston, Kansas City, Las Vegas, Phoenix, Portland, San Diego, Seattle, Utah, Vancouver </p>
<p class="m-0 text-white">
&copy; MergePHP 2023. Source code available <a class="text-white font-weight-bold" href="https://www.github.com/mergephp/mergephp-website/">on GitHub</a>. Designed by <a class="text-white font-weight-bold" href="https://htmlcodex.com">HTML Codex</a>
</p>
</div>
<!-- Footer End -->
</div>
</div>

<!-- Back to Top -->
<a href="#" class="back-to-top"><i class="fa fa-angle-double-up"></i></a>
</body>
</html>

42 changes: 42 additions & 0 deletions docs/meetups/2023/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,48 @@ <h3 class="mt-md-4 px-md-3 mb-2 py-2 bg-white font-weight-bold"><a href="/meetup
</div>
</div>
</div>
<!-- Blog List Start -->
<div class="container bg-white pt-5">
<div class="row blog-item px-3 pb-5">
<div class="col-md-5">
<img class="img-fluid mb-4 mb-md-0" src="/images/using-hasura-to-add-a-graphql-api-to-existing-applications.svg" alt="Using Hasura to add a GraphQL API to existing applications">
</div>
<div class="col-md-7">
<h3 class="mt-md-4 px-md-3 mb-2 py-2 bg-white font-weight-bold"><a href="/meetups/2023/09/14/using-hasura-to-add-a-graphql-api-to-existing-applications.html">Using Hasura to add a GraphQL API to existing applications</a></h3>
<div class="d-flex mb-3">
<time class="mr-2 text-muted"><i class="fa fa-calendar-alt"></i> September 14th, 2023</time>
</div>
<p>
Hasura is an open-source application written in Haskell which provides a robust GraphQL API for any Postgres and MySQL database. This talk will provide a brief introduction to Hasura but focus more on pathways to integrate it into an existing PHP application - with a Laravel example.

We will cover:
* Authentication
* Access control of database records
* Applying mutations in server code
</p>
<a class="btn btn-link p-0" href="/meetups/2023/09/14/using-hasura-to-add-a-graphql-api-to-existing-applications.html">Read More <i class="fa fa-angle-right"></i></a>
</div>
</div>
</div>
<!-- Blog List Start -->
<div class="container bg-white pt-5">
<div class="row blog-item px-3 pb-5">
<div class="col-md-5">
<img class="img-fluid mb-4 mb-md-0" src="/images/architecture-design-patterns-for-php.webp" alt="Architecture Design Patterns for PHP">
</div>
<div class="col-md-7">
<h3 class="mt-md-4 px-md-3 mb-2 py-2 bg-white font-weight-bold"><a href="/meetups/2023/10/12/architecture-design-patterns-for-php.html">Architecture Design Patterns for PHP</a></h3>
<div class="d-flex mb-3">
<time class="mr-2 text-muted"><i class="fa fa-calendar-alt"></i> October 12th, 2023</time>
</div>
<p>
Understanding the various code architecture design patterns can take years of hands-on experience, and benefits from surveying the wider development community. Get all caught up with this overview of a variety of best-practice patterns, including Strategy, Factory, Adapter, Facade, Repository, and more. Learn about the different pattern classifications, dig into pros and cons for each pattern, discuss SOLID implementation considerations, and see useful code examples to get you using each pattern
&hellip;
</p>
<a class="btn btn-link p-0" href="/meetups/2023/10/12/architecture-design-patterns-for-php.html">Read More <i class="fa fa-angle-right"></i></a>
</div>
</div>
</div>

<hr>

Expand Down
12 changes: 9 additions & 3 deletions docs/sitemap.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://www.mergephp.com/</loc>
<lastmod>2023-08-10T19:57:16-07:00</lastmod>
<lastmod>2023-11-05T12:57:58-08:00</lastmod>
<changefreq>daily</changefreq>
<priority>1</priority>
</url>
Expand Down Expand Up @@ -254,13 +254,19 @@
</url>
<url>
<loc>https://www.mergephp.com/meetups/2023/09/14/using-hasura-to-add-a-graphql-api-to-existing-applications.html</loc>
<lastmod>2023-08-11T02:56:54+00:00</lastmod>
<lastmod>2023-11-05T20:57:37+00:00</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mergephp.com/meetups/2023/10/12/architecture-design-patterns-for-php.html</loc>
<lastmod>2023-11-05T20:57:47+00:00</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.mergephp.com/meetups/2023/index.html</loc>
<lastmod>2023-08-11T02:52:54+00:00</lastmod>
<lastmod>2023-11-05T20:57:47+00:00</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
Expand Down
Binary file not shown.
51 changes: 51 additions & 0 deletions src/Meetup/Meetup20231012ArchitectureDesignPatternsForPhp.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
<?php

declare(strict_types=1);

namespace MergePHP\Website\Meetup;

use DateTimeImmutable;
use DateTimeZone;
use MergePHP\Website\AbstractMeetup;

class Meetup20231012ArchitectureDesignPatternsForPhp extends AbstractMeetup
{
public function getTitle(): string
{
return 'Architecture Design Patterns for PHP';
}

public function getDescription(): string
{
return 'Understanding the various code architecture design patterns can take years of hands-on experience, ' .
'and benefits from surveying the wider development community. Get all caught up with this overview of a ' .
'variety of best-practice patterns, including Strategy, Factory, Adapter, Facade, Repository, and more. ' .
'Learn about the different pattern classifications, dig into pros and cons for each pattern, discuss SOLID ' .
'implementation considerations, and see useful code examples to get you using each pattern.';
}

public function getDateTime(): DateTimeImmutable
{
/** @noinspection PhpUnhandledExceptionInspection */
return new DateTimeImmutable('2023-10-12 19:00:00', new DateTimeZone('America/New_York'));
}

public function getImage(): string
{
return '/images/architecture-design-patterns-for-php.webp';
}

public function getSpeakerName(): string
{
return 'Mark Niebergall';
}

public function getSpeakerBio(): string
{
return 'Mark Niebergall is a security-minded PHP Senior Software Engineer and Team Lead at a cybersecurity ' .
'software company, with many years of hands-on experience with PHP projects. He is the Utah PHP User Group ' .
'Co-Organizer, a regular conference speaker, and an occasional author. Mark has a Masters degree in MIS, is ' .
'CSSLP and SSCP cybersecurity certified, and volunteers for (ISC)2 security exam development. Mark enjoys ' .
'endurance sports, being outdoors, and teaching his five sons how to push buttons and use technology.';
}
}