<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Laravel Archives - Sully Syed</title>
	<atom:link href="https://yllus.com/portfolio-category/laravel/feed/" rel="self" type="application/rss+xml" />
	<link>https://yllus.com/portfolio-category/laravel/</link>
	<description>Management executive, software developer and cyclist hailing from Toronto, Canada.</description>
	<lastBuildDate>Thu, 21 Dec 2023 20:27:44 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9</generator>
	<item>
		<title>#MyGolfYear (Golf Canada Wrapped)</title>
		<link>https://yllus.com/portfolio/mygolfyear-golf-canada-wrapped/</link>
					<comments>https://yllus.com/portfolio/mygolfyear-golf-canada-wrapped/#respond</comments>
		
		<dc:creator><![CDATA[Sully Syed]]></dc:creator>
		<pubDate>Tue, 12 Dec 2023 18:44:12 +0000</pubDate>
				<guid isPermaLink="false">http://yllus.com/?post_type=portfolio&#038;p=3477</guid>

					<description><![CDATA[Since its debut in 2016, the end-of-year Spotify Wrapped campaign has always fascinated me as one of the most brilliant feats of marketing in the modern era: By simply summarizing a customer&#8217;s own data and putting an attractive graphics package <a href="https://yllus.com/portfolio/mygolfyear-golf-canada-wrapped/"><div class="read-more"><p>Read more &#8250;</p></div><!-- end of .read-more --></a>]]></description>
										<content:encoded><![CDATA[<p>Since its debut in 2016, the end-of-year <a href="https://www.spotify.com/us/wrapped/">Spotify Wrapped</a> campaign has always fascinated me as one of the most brilliant feats of marketing in the modern era: By simply summarizing a customer&#8217;s own data and putting an attractive graphics package around it, Spotify earns mounds of free press (<a href="https://www.wired.com/story/spotify-wrapped-never-going-away/">Wired</a>, <a href="https://www.theverge.com/23980858/spotify-wrapped-2023-how-to">The Verge</a>, <a href="https://www.businessinsider.com/guides/streaming/how-to-find-spotify-wrapped">Business Insider</a>) and even more reach organically as millions of Spotify users share their listening preferences with their friends on social media.</p>
<p>In my first year with Golf Canada in 2021, having just gotten comfortable with the organization&#8217;s incredible dataset on golf being played in Canada, I pitched the obvious: Why don&#8217;t we spin up a large number of servers in the cloud, crunch through the data and gift each member of Golf Canada with their own shareable graphic of the golf they played that year? The go-ahead was quickly given and a furious three week effort resulted in the <a href="https://www.golfcanada.ca/articles/golfers-share-their-2021-stats-as-part-of-new-golf-canada-mygolfyear-campaign/">2021 #MyGolfYear campaign</a>, a simple but well-received surprise to Golf Canada members.</p>
<p><center></p>
<blockquote class="instagram-media" style="background: #FFF; border: 0; border-radius: 3px; box-shadow: 0 0 1px 0 rgba(0,0,0,0.5),0 1px 10px 0 rgba(0,0,0,0.15); margin: 1px; max-width: 540px; min-width: 326px; padding: 0; width: calc(100% - 2px);" data-instgrm-captioned="" data-instgrm-permalink="https://www.instagram.com/p/CYCNVHeF48W/?utm_source=ig_embed&amp;utm_campaign=loading" data-instgrm-version="14">
<div style="padding: 16px;">
<p>&nbsp;</p>
<div style="display: flex; flex-direction: row; align-items: center;">
<div style="background-color: #f4f4f4; border-radius: 50%; flex-grow: 0; height: 40px; margin-right: 14px; width: 40px;"></div>
<div style="display: flex; flex-direction: column; flex-grow: 1; justify-content: center;">
<div style="background-color: #f4f4f4; border-radius: 4px; flex-grow: 0; height: 14px; margin-bottom: 6px; width: 100px;"></div>
<div style="background-color: #f4f4f4; border-radius: 4px; flex-grow: 0; height: 14px; width: 60px;"></div>
</div>
</div>
<div style="padding: 19% 0;"></div>
<div style="display: block; height: 50px; margin: 0 auto 12px; width: 50px;"></div>
<div style="padding-top: 8px;">
<div style="color: #3897f0; font-family: Arial,sans-serif; font-size: 14px; font-style: normal; font-weight: 550; line-height: 18px;">View this post on Instagram</div>
</div>
<div style="padding: 12.5% 0;"></div>
<div style="display: flex; flex-direction: row; margin-bottom: 14px; align-items: center;">
<div>
<div style="background-color: #f4f4f4; border-radius: 50%; height: 12.5px; width: 12.5px; transform: translateX(0px) translateY(7px);"></div>
<div style="background-color: #f4f4f4; height: 12.5px; transform: rotate(-45deg) translateX(3px) translateY(1px); width: 12.5px; flex-grow: 0; margin-right: 14px; margin-left: 2px;"></div>
<div style="background-color: #f4f4f4; border-radius: 50%; height: 12.5px; width: 12.5px; transform: translateX(9px) translateY(-18px);"></div>
</div>
<div style="margin-left: 8px;">
<div style="background-color: #f4f4f4; border-radius: 50%; flex-grow: 0; height: 20px; width: 20px;"></div>
<div style="width: 0; height: 0; border-top: 2px solid transparent; border-left: 6px solid #f4f4f4; border-bottom: 2px solid transparent; transform: translateX(16px) translateY(-4px) rotate(30deg);"></div>
</div>
<div style="margin-left: auto;">
<div style="width: 0px; border-top: 8px solid #F4F4F4; border-right: 8px solid transparent; transform: translateY(16px);"></div>
<div style="background-color: #f4f4f4; flex-grow: 0; height: 12px; width: 16px; transform: translateY(-4px);"></div>
<div style="width: 0; height: 0; border-top: 8px solid #F4F4F4; border-left: 8px solid transparent; transform: translateY(-4px) translateX(8px);"></div>
</div>
</div>
<div style="display: flex; flex-direction: column; flex-grow: 1; justify-content: center; margin-bottom: 24px;">
<div style="background-color: #f4f4f4; border-radius: 4px; flex-grow: 0; height: 14px; margin-bottom: 6px; width: 224px;"></div>
<div style="background-color: #f4f4f4; border-radius: 4px; flex-grow: 0; height: 14px; width: 144px;"></div>
</div>
<p>&nbsp;</p>
<p style="color: #c9c8cd; font-family: Arial,sans-serif; font-size: 14px; line-height: 17px; margin-bottom: 0; margin-top: 8px; overflow: hidden; padding: 8px 0 7px; text-align: center; text-overflow: ellipsis; white-space: nowrap;"><a style="color: #c9c8cd; font-family: Arial,sans-serif; font-size: 14px; font-style: normal; font-weight: normal; line-height: 17px; text-decoration: none;" href="https://www.instagram.com/p/CYCNVHeF48W/?utm_source=ig_embed&amp;utm_campaign=loading" target="_blank" rel="noopener">A post shared by Laurence Applebaum (@laurence.applebaum)</a></p>
</div>
</blockquote>
<p><script async src="//www.instagram.com/embed.js"></script></center></p>
<p>In 2022 and 2023, with more time for planning and exploration, <a href="https://www.golfcanada.ca/articles/mygolfyear-is-back-for-2022/">the #MyGolfYear campaign returned</a>, with the basic summary values such as the Total Rounds, # of Holes, Distance Played and Best Round again being featured, and now adding 15 possible &#8216;achievements&#8217; a golfer could earn due to their play that year.</p>
<p><center></p>
<blockquote class="instagram-media" style="background: #FFF; border: 0; border-radius: 3px; box-shadow: 0 0 1px 0 rgba(0,0,0,0.5),0 1px 10px 0 rgba(0,0,0,0.15); margin: 1px; max-width: 540px; min-width: 326px; padding: 0; width: calc(100% - 2px);" data-instgrm-captioned="" data-instgrm-permalink="https://www.instagram.com/p/CmPir5nOY5u/?utm_source=ig_embed&amp;utm_campaign=loading" data-instgrm-version="14">
<div style="padding: 16px;">
<p>&nbsp;</p>
<div style="display: flex; flex-direction: row; align-items: center;">
<div style="background-color: #f4f4f4; border-radius: 50%; flex-grow: 0; height: 40px; margin-right: 14px; width: 40px;"></div>
<div style="display: flex; flex-direction: column; flex-grow: 1; justify-content: center;">
<div style="background-color: #f4f4f4; border-radius: 4px; flex-grow: 0; height: 14px; margin-bottom: 6px; width: 100px;"></div>
<div style="background-color: #f4f4f4; border-radius: 4px; flex-grow: 0; height: 14px; width: 60px;"></div>
</div>
</div>
<div style="padding: 19% 0;"></div>
<div style="display: block; height: 50px; margin: 0 auto 12px; width: 50px;"></div>
<div style="padding-top: 8px;">
<div style="color: #3897f0; font-family: Arial,sans-serif; font-size: 14px; font-style: normal; font-weight: 550; line-height: 18px;">View this post on Instagram</div>
</div>
<div style="padding: 12.5% 0;"></div>
<div style="display: flex; flex-direction: row; margin-bottom: 14px; align-items: center;">
<div>
<div style="background-color: #f4f4f4; border-radius: 50%; height: 12.5px; width: 12.5px; transform: translateX(0px) translateY(7px);"></div>
<div style="background-color: #f4f4f4; height: 12.5px; transform: rotate(-45deg) translateX(3px) translateY(1px); width: 12.5px; flex-grow: 0; margin-right: 14px; margin-left: 2px;"></div>
<div style="background-color: #f4f4f4; border-radius: 50%; height: 12.5px; width: 12.5px; transform: translateX(9px) translateY(-18px);"></div>
</div>
<div style="margin-left: 8px;">
<div style="background-color: #f4f4f4; border-radius: 50%; flex-grow: 0; height: 20px; width: 20px;"></div>
<div style="width: 0; height: 0; border-top: 2px solid transparent; border-left: 6px solid #f4f4f4; border-bottom: 2px solid transparent; transform: translateX(16px) translateY(-4px) rotate(30deg);"></div>
</div>
<div style="margin-left: auto;">
<div style="width: 0px; border-top: 8px solid #F4F4F4; border-right: 8px solid transparent; transform: translateY(16px);"></div>
<div style="background-color: #f4f4f4; flex-grow: 0; height: 12px; width: 16px; transform: translateY(-4px);"></div>
<div style="width: 0; height: 0; border-top: 8px solid #F4F4F4; border-left: 8px solid transparent; transform: translateY(-4px) translateX(8px);"></div>
</div>
</div>
<div style="display: flex; flex-direction: column; flex-grow: 1; justify-content: center; margin-bottom: 24px;">
<div style="background-color: #f4f4f4; border-radius: 4px; flex-grow: 0; height: 14px; margin-bottom: 6px; width: 224px;"></div>
<div style="background-color: #f4f4f4; border-radius: 4px; flex-grow: 0; height: 14px; width: 144px;"></div>
</div>
<p>&nbsp;</p>
<p style="color: #c9c8cd; font-family: Arial,sans-serif; font-size: 14px; line-height: 17px; margin-bottom: 0; margin-top: 8px; overflow: hidden; padding: 8px 0 7px; text-align: center; text-overflow: ellipsis; white-space: nowrap;"><a style="color: #c9c8cd; font-family: Arial,sans-serif; font-size: 14px; font-style: normal; font-weight: normal; line-height: 17px; text-decoration: none;" href="https://www.instagram.com/p/CmPir5nOY5u/?utm_source=ig_embed&amp;utm_campaign=loading" target="_blank" rel="noopener">A post shared by Cassie Campbell-Pascall (@cassiecampbell77)</a></p>
</div>
</blockquote>
<p><script async src="//www.instagram.com/embed.js"></script></center></p>
<p>For technology, #MyGolfYear is powered by <a href="https://github.com/laravel/horizon"><strong>Laravel Horizon</strong></a> running on <a href="https://aws.amazon.com/"><strong>Amazon AWS Cloud</strong></a> as a fast, parallelized queue to process the millions of scores entered annually by hundreds of thousands of Golf Canada&#8217;s membership, with <strong><a href="https://mailchimp.com/">MailChimp and Mandrill</a></strong> used for e-mail and <a href="https://onesignal.com/"><strong>OneSignal</strong></a> for push notifications to provide members with their annual stats package.</p>
<p>With an e-mail open rate in excess of 64% and thousands of shareable graphics making the rounds on <a href="https://www.facebook.com/hashtag/MyGolfYear/">Facebook</a>, <a href="https://www.instagram.com/explore/tags/mygolfyear/">Instagram</a>, <a href="https://twitter.com/search?q=%23MyGolfYear&#038;src=typed_query">Twitter</a> and <a href="https://www.linkedin.com/feed/hashtag/?keywords=mygolfyear">LinkedIn</a>, #MyGolfYear had popular success, but added commercial success via sponsorship with <a href="https://www.journie.ca/en-CA">JOURNIE Rewards</a> in 2022 and <a href="https://www.bdo.ca/">BDO Canada</a> in 2023 and onwards. To me, like Spotify Wrapped, it is the definition of making use of an organization&#8217;s existing assets in a new (heavily &#8216;inspired by&#8217;) way to surprise-and-delight one&#8217;s own customers while also creating a saleable new asset.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://yllus.com/portfolio/mygolfyear-golf-canada-wrapped/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Golf Canada Mobile App (Social Features)</title>
		<link>https://yllus.com/portfolio/golf-canada-mobile-app-social-features/</link>
		
		<dc:creator><![CDATA[Sully Syed]]></dc:creator>
		<pubDate>Tue, 03 Oct 2023 13:11:10 +0000</pubDate>
				<guid isPermaLink="false">http://yllus.com/?post_type=portfolio&#038;p=3438</guid>

					<description><![CDATA[With over 125,000 golfers using the Golf Canada Mobile App on a weekly basis, Golf Canada had a very successful app that was nonetheless severely limited in its ability to surface messaging and communicate with the userbase of the product. <a href="https://yllus.com/portfolio/golf-canada-mobile-app-social-features/"><div class="read-more"><p>Read more &#8250;</p></div><!-- end of .read-more --></a>]]></description>
										<content:encoded><![CDATA[<p><iframe style="aspect-ratio: 16 / 9; width: 100%;" src="https://www.youtube.com/embed/jER9_zR98L4?si=aLgSeNFRFIuxH9ZR" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe></p>
<p>With over 125,000 golfers using the <a href="https://www.golfcanada.ca/golf-canada-app/">Golf Canada Mobile App</a> on a weekly basis, Golf Canada had a very successful app that was nonetheless severely limited in its ability to surface messaging and communicate with the userbase of the product. To provide a reason for Canadians to open and use the app outside of strictly recording their scores and increase engagement with their friends, Golf Canada and its partners, I proposed in 2022 that social network-style features be implemented in the next release of the Golf Canada Mobile App.</p>
<p>In late 2022 and early 2023, I architected and led the development of the friend system, home screen news feed, the ability to attach photos and videos to a score posting or content upload, and push / e-mail notifications about your friends&#8217; activities in the Golf Canada Mobile App. The API and backend in use is Laravel, with <a href="https://github.com/laravel/horizon"><strong>Laravel Horizon</strong></a> utilized in particular as a fast, parallelized queue to create cached score and content posts that can be instantly retrieved and displayed in the home screen feed of golfers. To notify golfers about friend requests and the activities of their friends, Laravel Horizon queues and executes 1:1 transactional push notifications via <a href="https://onesignal.com/"><strong>OneSignal</strong></a> and e-mail via <a href="https://mandrillapp.com/"><strong>Mandrill</strong></a>. Finally, <a href="https://voyager.devdojo.com/"><strong>Voyager</strong></a> provides Golf Canada staff with a simple-to-use web backend to administer and moderate content on the platform.</p>
<p>Since release in August 2023 through the month of December, over 9.8 million posts have already been viewed via the home screen feed, 136,000+ new friend requests have been made and accepted, and over 30,000+ photos and videos have been uploaded via the mobile app. Critically for Golf Canada&#8217;s partners, a 400% increase in banner ad code loads and a 300% increase in ad impressions has resulted from the introduction of the home screen news feed to the app.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Golf Canada Mobile App (Live Events)</title>
		<link>https://yllus.com/portfolio/golf-canada-mobile-app/</link>
					<comments>https://yllus.com/portfolio/golf-canada-mobile-app/#respond</comments>
		
		<dc:creator><![CDATA[Sully Syed]]></dc:creator>
		<pubDate>Fri, 24 Feb 2023 19:37:14 +0000</pubDate>
				<guid isPermaLink="false">http://yllus.com/?post_type=portfolio&#038;p=3398</guid>

					<description><![CDATA[As hosts and organizers of the annual RBC Canadian Open and CP Women&#8217;s Open (the Canadian PGA and LPGA championship events respectively), in 2021, Golf Canada green-lit a project to add live event functionality into the Golf Canada Mobile App. <a href="https://yllus.com/portfolio/golf-canada-mobile-app/"><div class="read-more"><p>Read more &#8250;</p></div><!-- end of .read-more --></a>]]></description>
										<content:encoded><![CDATA[<p>As hosts and organizers of the annual <a href="https://rbccanadianopen.com/">RBC Canadian Open</a> and <a href="https://www.cpwomensopen.com/">CP Women&#8217;s Open</a> (the Canadian PGA and LPGA championship events respectively), in 2021, Golf Canada green-lit a project to add live event functionality into the <a href="https://www.golfcanada.ca/golf-canada-app/">Golf Canada Mobile App</a>. For those two weeks of the year, event goers would be able use the app to view a course map, live leaderboards and tee times, access their tickets and use mobile ordering to purchase food and beverages anywhere on the grounds.</p>
<p>With mobile app development partner <a href="https://www.mirego.com/">Mirego</a> on board, I led this project internally at Golf Canada, soliciting and organizing requirements, architecting and developing a Laravel-based API and backend to drive content, data, images and video to the mobile app, interfacing with and implementing integrations with the <strong>PGA (ShotLink)</strong> and the <strong>LPGA (R2IT)</strong> for real-time leaderboards and tee times, <strong>Ticketmaster</strong> for mobile ticketing, <strong>VenueNext</strong> for mobile ordering of food and beverages, <strong>Intellitix</strong> for RFID wristbands, and <strong>Trak-4</strong> to enable real-time player positioning display in the mobile app.</p>
<p>During the two weeks of the live tournaments, the Golf Canada Mobile App was utilized by over 17,000 event attendees, and $65,000 CAD in incremental revenue was generated via mobile ordering of F&amp;B. The Laravel-based backend is dynamic and can be utilized in future years to display and run further tournaments without the need for further development efforts or even technical ability.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://yllus.com/portfolio/golf-canada-mobile-app/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Vestaboard+</title>
		<link>https://yllus.com/portfolio/vestaboard-plus/</link>
					<comments>https://yllus.com/portfolio/vestaboard-plus/#respond</comments>
		
		<dc:creator><![CDATA[Sully Syed]]></dc:creator>
		<pubDate>Sun, 30 Oct 2022 23:04:18 +0000</pubDate>
				<guid isPermaLink="false">http://yllus.com/?post_type=portfolio&#038;p=3369</guid>

					<description><![CDATA[I&#8217;ve always been fascinated with smart displays and unique visualization methods; so when in October 2018 I saw an opportunity to reserve one of the first Vestaboard smart displays very early in their conception (pre-hardware prototype), I jumped at the <a href="https://yllus.com/portfolio/vestaboard-plus/"><div class="read-more"><p>Read more &#8250;</p></div><!-- end of .read-more --></a>]]></description>
										<content:encoded><![CDATA[<p><iframe style="aspect-ratio: 16 / 9; width: 100%;" src="https://www.youtube.com/embed/SN-64kbhS9s?si=DXymYsujpo7Xw9MD" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe><br />
I&#8217;ve always been fascinated with smart displays and unique visualization methods; so when in October 2018 I saw an opportunity to reserve one of the first <a href="https://www.vestaboard.com/">Vestaboard smart displays</a> very early in their conception (pre-hardware prototype), I jumped at the chance. The timing of getting a note from <a href="https://www.linkedin.com/in/dorrianporter/">Dorrian Porter</a> and his team that my board was in production in February 2021 was perfect timing: I had just left my full-time role at the Canadian Football League and was looking for interesting new projects to take on.</p>
<p>With Vestaboard having <a href="https://docs.vestaboard.com/introduction">documented an API</a> to create software around, I got to work on what I thought would be the most obvious and useful integration: Real-time updates from the <strong>National Football League</strong> (NFL), <strong>National Basketball Association</strong> (NBA), <strong>Major League of Baseball</strong> (MLB) and <strong>National Hockey League</strong> (NFL). With those first four sports &#8220;installables&#8221; completed, I took on a contractor role with Vestaboard and completed a <strong>Stock Market</strong> (NYSE/NASDAQ), <strong>Google Calendar</strong>, <strong>Outlook Calendar</strong> and <strong>Spotify</strong> integration shortly before <a href="https://www.instagram.com/p/CNfbxOoAhnf/">my own physical Vestaboard arrived</a> in Toronto, Canada in April, 2021.</p>
<p>Starting in January 2022, the work I began with those first Installables now powers <a href="https://www.vestaboard.com/plus">Vestaboard+</a>, a subscription service for Vestaboard customers that&#8217;s expanded to 54 unique integrations that includes <strong>Sonos</strong>, <strong>Apple Music</strong>, weather reports, <strong>Cryptocurrencies</strong>, custom time clocks and even a build-it-yourself message set scheduler. Vestaboard+ runs on a <a href="https://laravel.com/">Laravel 8.x platform</a> utilizing <a href="https://laravel.com/docs/8.x/horizon">Laravel Horizon</a>, with each Installable scheduled to scan for time matches and fire a message to a Vestaboard when a match occurs.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://yllus.com/portfolio/vestaboard-plus/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>GreyCupFanBase.ca</title>
		<link>https://yllus.com/portfolio/grey-cup-fan-base/</link>
					<comments>https://yllus.com/portfolio/grey-cup-fan-base/#respond</comments>
		
		<dc:creator><![CDATA[Sully Syed]]></dc:creator>
		<pubDate>Sun, 30 Aug 2020 20:34:44 +0000</pubDate>
				<guid isPermaLink="false">http://yllus.com/?post_type=portfolio&#038;p=3302</guid>

					<description><![CDATA[In 2020 and facing a lost season of football due to the outbreak of the COVID-19 pandemic, the Canadian Football League undertook a new iniative: The Grey Cup Fan Base, an opportunity for fans of the league to directly support <a href="https://yllus.com/portfolio/grey-cup-fan-base/"><div class="read-more"><p>Read more &#8250;</p></div><!-- end of .read-more --></a>]]></description>
										<content:encoded><![CDATA[<div class="row mt">
<div class="col-lg-10 col-lg-offset-1">
<p>In 2020 and facing a lost season of football due to the outbreak of the COVID-19 pandemic, the Canadian Football League undertook a new iniative: The <a href="https://www.greycupfanbase.ca/">Grey Cup Fan Base</a>, an opportunity for fans of the league to directly support the CFL and literally put their name in history in the process.</p>
<p>To build this new property, I developed a website and e-mail integration based on Laravel 6.x, creating a sales website, a purchase flow that integrates use of <a href="https://stripe.com/en-ca">Stripe</a> and <a href="https://www.ticketmaster.ca/">Ticketmaster</a>, a members-only section for those who purchased a name on the Fan Base, and e-mail automation with <a href="https://aws.amazon.com/ses/">Amazon SES</a>. In the members only section, details about a member&#8217;s personalization / location and an auto-generated certificate of support were created.</p>
</div>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://yllus.com/portfolio/grey-cup-fan-base/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>TryFootball.ca</title>
		<link>https://yllus.com/portfolio/tryfootball-ca/</link>
					<comments>https://yllus.com/portfolio/tryfootball-ca/#respond</comments>
		
		<dc:creator><![CDATA[Sully Syed]]></dc:creator>
		<pubDate>Mon, 24 Aug 2020 15:18:29 +0000</pubDate>
				<guid isPermaLink="false">http://yllus.com/?post_type=portfolio&#038;p=3292</guid>

					<description><![CDATA[TryFootball.ca was developed and made public in 2019 to serve as a central source of information in Canada for parents to find a league or team playing amateur football in their region. Based on Laravel 5.x, this website property allows <a href="https://yllus.com/portfolio/tryfootball-ca/"><div class="read-more"><p>Read more &#8250;</p></div><!-- end of .read-more --></a>]]></description>
										<content:encoded><![CDATA[<p><a href="https://tryfootball.ca/">TryFootball.ca</a> was developed and made public in 2019 to serve as a central source of information in Canada for parents to find a league or team playing amateur football in their region. Based on Laravel 5.x, this website property allows the input of a Canadian postal code and maps the results visually using the Google Maps API.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://yllus.com/portfolio/tryfootball-ca/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>CFL Pick &#8216;Em</title>
		<link>https://yllus.com/portfolio/cfl-pick-em/</link>
					<comments>https://yllus.com/portfolio/cfl-pick-em/#respond</comments>
		
		<dc:creator><![CDATA[Sully Syed]]></dc:creator>
		<pubDate>Mon, 24 Aug 2020 14:33:52 +0000</pubDate>
				<guid isPermaLink="false">http://yllus.com/?post_type=portfolio&#038;p=3281</guid>

					<description><![CDATA[In 2014, a Ruby On Rails-based website application was developed by a vendor external to the Canadian Football League that allowed fans to register an account and virtually bet (no real monetary value placed) on which team would win each <a href="https://yllus.com/portfolio/cfl-pick-em/"><div class="read-more"><p>Read more &#8250;</p></div><!-- end of .read-more --></a>]]></description>
										<content:encoded><![CDATA[<p>In 2014, a Ruby On Rails-based website application was developed by a vendor external to the Canadian Football League that allowed fans to register an account and virtually bet (no real monetary value placed) on which team would win each regular season and playoff game in the CFL season schedule.</p>
<p>In 2018, I undertook a rebuild and migration of the <a href="https://pickem.cfl.ca/">CFL Pick &#8216;Em website</a> to Laravel 5.x in order to improve the site stability, bring the codebase in line with existing internal CFL standards (PHP and MySQL-based whenever possible) and generally improve the website&#8217;s featureset. One major goal was to provide updated leaderboard rankings and scores within seconds of each game&#8217;s conclusion; <a href="https://laravel.com/docs/5.8/horizon">Laravel Horizon</a> as a queue/job processing solution makes this possible, with the <a href="https://aws.amazon.com/rds/aurora/">Amazon Aurora</a> database scaling automatically ramped up as any game enters its 4th quarter.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://yllus.com/portfolio/cfl-pick-em/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
