یک اپ Laravel با توسعه مبتنی بر تست بسازید
Build A Laravel App With TDD
It's time to take the techniques we learned in Laravel From Scratch, and put them to good use building your first real-world application. Together, we'll leverage TDD to create Birdboard: a minimal Basecamp-like project management app.
This series will give us a wide range of opportunities to pull up our sleeves and test our Laravel chops. As always, we start from scratch.
قسمتهای دوره
با Birdboard آشنا شوید
2m 31sLet's begin by reviewing the application that we plan to build. We'll then finish up by installing...
بیایید با یک تست شروع کنیم
12m 48sMy hope is to demonstrate, as much as possible, my actual workflow when writing my own applications....
تست اعتبارسنجی درخواست
5m 32sWe haven't yet written any request validation logic. As before, let's use a TDD approach for specifying...
تستهای مدل
7m 33sWe must next ensure that a user can visit any project page. Though we should start with...
یک پروژه به یک مالک نیاز دارد
11m 17sIt's true that we can now create and persist projects to the database, but they aren't currently...
محدودهبندی پروژهها
11m 39sIn this episode, we'll continue tweaking which projects are displayed to the user. We'll also begin implementing...
نمایش ایجاد پروژه
6m 38sWe already have the necessary logic to persist new projects, however, we haven't yet created the "create...
آمادهسازی فرانتاند
8m 19sBefore I begin writing CSS, we first need to set the stage. We'll begin by pulling in...
برو برو ابزار Tailwind
16m 39sIn this episode, we'll leverage Tailwind to begin constructing the Birdboard UI.
فاصلهگذاری Grid و تنظیمات کارت
16m 56sLet's continue working on the CSS for the projects dashboard. This will give us an opportunity to...
استایلدهی صفحه پروژه
12m 20sBefore we jump back to PHP, let's write one more lesson's worth of CSS. Specifically, we'll get...
یک پروژه میتواند تسک داشته باشد
15m 24sWe've added a section to our project page for tasks, but that functionality doesn't yet exist. It...
بهروزرسانیهای رابط کاربری تسک
9m 11sThe next step is to update your project page UI to allow for displaying and adding new...
بهروزرسانیهای رابط کاربری تسک: بخش ۲
18m 31sIn this episode, we'll wrap every task within a form so that we may easily update its...
آن را لمس کنید
5m 5sI'd like to sort all projects in our dashboard according to those that have been most recently...
یادداشتها و سیاستها
18m 4sNext up, we need to make the "General Notes" section of the project page dynamic. As always,...
بهبود ترتیب تست با کلاسهای کارخانه
16m 35sLet's take a moment to improve the structure of our tests. Have you noticed that, time and...
کاهش تکرار فرم
14m 6sIn this lesson, we'll add a form to update an existing project. But in the process, we'll...
اعتبارسنجی گاهی اوقات با درخواستهای فرم
12m 40sWe'll begin this episode by addressing a small regression that was introduced in the previous episode: we...
خوراک فعالیتهای پروژه
13m 39sLet's move on to our next feature: every project generates an activity feed. View the source code...
خوراک فعالیتهای پروژه: بخش ۲
13m 53sLet's continue working on the project activity feature. We should additionally record activity when a task is...
خوراک فعالیتهای پروژه: بخش ۳
5m 57sBefore moving on to the larger activity feed refactor, let's first make a few small tweaks to...
خوراک فعالیتهای پروژه: پاکسازی
12m 8sWe have just a few loose ends to wrap up, before finally viewing the project's activity feed...
رندر فعالیت با چندریختی
10m 35sIt's time to render a project's activity feed on the page. This will give us an opportunity...
موضوع فعالیت
12mNow that we're successfully displaying a project's activity feed on the page, I'd like to provide more...
ثبت تغییرات مدل
15m 49sOur next job is to track which attributes have changed when a model is updated. This will...
وارد جریان بازنویسی شوید
21m 47sIn this episode, we'll refactor all "activity" functionality to a reusable trait. As you'll see, we'll quickly...
تنظیم کارت فعالیت
13m 51sLet's work on tweaking the output of the activity card in this lesson. I'd like it to...
کاربران مجاز میتوانند پروژهها را حذف کنند
7m 57sWe have an easy one this episode: users who have the proper permissions may delete or archive...
تستهای لایهای و دعوتنامهها
12m 43sAs we move on to inviting users to projects, this will give us a nice opportunity to...
مراقب نتایج مثبت کاذب باشید
14m 8sIn this episode, as we work to allow users to see all projects they've been invited to...
Gravatarها و توابع کمکی
7m 26sOur project page doesn't yet display all members who have access to it. Let's use Gravatar to...
دعوت از کاربران به عنوان یک تست ویژگی
15m 11sIn this episode, we'll write a few new feature tests to confirm the conditions under which a...
خطاهای اعتبارسنجی برای چند فرم
13m 57sOnce you add multiple forms to a page, you'll quickly find that you can no longer depend...
کاربران دعوت شده ممکن است نتوانند پروژهها را حذف کنند
6m 3sIt looks like we have a small hiccup. At the moment, any invited user has permission to...
تمهای آسان Tailwind با استفاده از متغیرهای CSS
14m 6sWe have a relatively nice light theme at the moment. But what if we wanted to offer...
مرور تمهای تکمیل شده
2m 15sBehind the scenes, I've finished up our two themes. Before moving on to building the theme switcher,...
یک تغییردهنده تم بسازید
15m 7sNow that we have multiple UI themes available to us, the next step is to construct a...
مودال جدید پروژه
12m 20sBecause we're approaching the end of this series, let's dedicate a few episodes to reviewing some JavaScript-specific...
مودال جدید پروژه: رفتار
17m 51sNow that the basic styling for the "New Project" modal is complete, we can move on to...
مودال جدید پروژه: تسکها
4m 45sThere's one final step to complete: our controller doesn't yet allow tasks to be created alongside the...
جاوااسکریپت شیءگرا
20m 44sIf we take another look at our NewProjectModal file, you'll notice that most of the JavaScript deals...
یک کامپوننت dropdown Vue بسازید
23m 27sLet's wrap things up by creating a reusable dropdown Vue component from scratch. View the source code...
جمعبندی
1m 37sA series like this could go on for hundreds of hours, but, at some point, we have...




