Companies Home Search Profile

Symfony API Platform with React Full Stack Masterclass

Focused View

Piotr Jura | 45,000+ Enrollments

19:11:48

96 View
  • 1 - Introduction.mp4
    06:45
  • 2 - Course outline and how to make most of this course PLEASE WATCH.mp4
    09:28
  • 3 - Tools requiredoptional overview.mp4
    08:35
  • 4 - Installing PHP and Composer on Windows.mp4
    05:49
  • 5 - Install PHP & Composer on MacOS commands.html
  • 6 - Installing PHP and Composer on Mac.mp4
    01:51
  • 7 - Installing Visual Studio Code.mp4
    01:18
  • 8 - Namespaces.mp4
    04:42
  • 8 - php7-basics-lecture-001-before.zip
  • 9 - Class Fields and Methods.mp4
    05:46
  • 9 - Link with changes on GitHub.txt
  • 9 - php7-basics-lecture-002-after.zip
  • 9 - php7-basics-lecture-002-before.zip
  • 10 - Link with changes on GitHub.txt
  • 10 - Method & Field Visibility.mp4
    05:13
  • 10 - php7-basics-lecture-003-after.zip
  • 11 - Inheritance.mp4
    10:41
  • 11 - Link with changes on GitHub.txt
  • 11 - php7-basics-lecture-004-after.zip
  • 11 - php7-basics-lecture-004-before.zip
  • 12 - Abstract Classes.mp4
    03:39
  • 12 - Link with changes on GitHub.txt
  • 12 - php7-basics-lecture-005-after.zip
  • 12 - php7-basics-lecture-005-before.zip
  • 13 - Interfaces.mp4
    11:15
  • 13 - Link with changes on GitHub.txt
  • 13 - php7-basics-lecture-006-after.zip
  • 13 - php7-basics-lecture-006-before.zip
  • 14 - Link with changes on GitHub.txt
  • 14 - Typed Arguments & Function Return Types.mp4
    12:28
  • 14 - php7-basics-lecture-007-after.zip
  • 14 - php7-basics-lecture-007-before.zip
  • 15 - Anonymous Functions Closures.mp4
    04:48
  • 15 - Link with changes on GitHub.txt
  • 15 - php7-basics-lecture-008-after.zip
  • 15 - php7-basics-lecture-008-before.zip
  • 16 - Link with changes on GitHub.txt
  • 16 - Reflection API ReverseEngineer Classes Methods Functions.mp4
    05:04
  • 16 - php7-basics-lecture-009-after.zip
  • 16 - php7-basics-lecture-009-before.zip
  • 17 - Dependency Injection In Practice.mp4
    05:46
  • 17 - Link with changes on GitHub.txt
  • 17 - php7-basics-lecture-010-after.zip
  • 17 - php7-basics-lecture-010-before.zip
  • 18 - Link with changes on GitHub.txt
  • 18 - Simple Service Container HandsOn Coding.mp4
    12:30
  • 18 - php7-basics-lecture-011-after.zip
  • 18 - php7-basics-lecture-011-before.zip
  • 19 - Service Autowiring Implementation Part 1.mp4
    10:51
  • 19 - php7-basics-lecture-012-after.zip
  • 19 - php7-basics-lecture-012-before.zip
  • 20 - Link with changes on GitHub.txt
  • 20 - Service Autowiring Implementation Part 2.mp4
    11:24
  • 21 - Annotations and Kernel Part 1.mp4
    08:04
  • 21 - php7-basics-lecture-013-after.zip
  • 21 - php7-basics-lecture-013-before.zip
  • 22 - Annotations and Kernel Part 2.mp4
    12:40
  • 22 - Link with changes on GitHub.txt
  • 23 - Creating new Symfony project.mp4
    01:24
  • 23 - Link to the full project source code.txt
  • 24 - Routing annotations in controllers.mp4
    02:47
  • 25 - Routing route parameter wildcards.mp4
    05:32
  • 26 - Routing default parameter values.mp4
    02:23
  • 27 - Routing generating urls using route names.mp4
    01:57
  • 28 - AbstractController Request Response.mp4
    04:38
  • 29 - Installing ORM maker configuring database.mp4
    02:09
  • 30 - Generating first Entity.mp4
    03:16
  • 31 - Entity explained.mp4
    02:30
  • 32 - Migration modifying database structure.mp4
    02:58
  • 33 - 002-005-request.zip
  • 33 - Persisting entities and serializing data.mp4
    05:14
  • 34 - Fetching objects using repositories.mp4
    03:21
  • 35 - ParamConverter type hinting actions for automatic fetching of entities.mp4
    05:59
  • 36 - Deleting entities.mp4
    03:39
  • 37 - Doctrine Fixtures seeding fake data.mp4
    04:51
  • 38 - Admin panel introduction EasyAdmin.mp4
    03:14
  • 39 - Install API Platform and create the first resource.mp4
    06:19
  • 40 - Generate User and Comment entity.mp4
    02:18
  • 41 - ManyToOne relation and migration.mp4
    09:12
  • 42 - Fixtures with references for relations.mp4
    05:33
  • 43 - Password encoding in fixtures.mp4
    04:01
  • 44 - Generate fake data in fixtures using Faker.mp4
    07:55
  • 45 - BlogPost with Comment relation and fixtures.mp4
    04:44
  • 46 - Builtin API Platform operations.mp4
    05:41
  • 47 - Disabling operations.mp4
    03:12
  • 48 - Introduction to serializationdeserialization.mp4
    04:33
  • 49 - Serialization groups controlling which properties are serialized.mp4
    02:15
  • 50 - EventSubscriber hashing password.mp4
    06:50
  • 51 - Validator and validation constraints.mp4
    04:43
  • 52 - Validation using regular expressions.mp4
    04:29
  • 53 - Virtual property not persisted to database.mp4
    02:57
  • 54 - Validating uniqueness of fields username email.mp4
    02:02
  • 55 - JWT Tokens introduction.mp4
    05:25
  • 56 - Preparing JWT token library and keys.mp4
    03:24
  • 57 - Configuring UserProvider.mp4
    04:24
  • 58 - Firewall configuration.mp4
    08:38
  • 59 - JSON login configuration and Guard Authentication explained.mp4
    06:10
  • 60 - Authentication final configuration and first login using JWT token.mp4
    05:42
  • 61 - Using isgranted to control access to operations.mp4
    02:55
  • 62 - BlogPost validation on POST.mp4
    06:16
  • 63 - Setting author of BlogPost automatically EventSubscriber.mp4
    08:15
  • 64 - Making sure only owner of BlogPost can modify it PUT.mp4
    06:07
  • 65 - Controlling which properties can be changed no username change.mp4
    06:44
  • 66 - Hasing password on User changes PUT with Events.mp4
    07:07
  • 67 - Comment resource operations POSTPUT.mp4
    05:08
  • 68 - More randomness in fixtures.mp4
    07:22
  • 69 - Setting author automatically EventSubscriber using generic Interface.mp4
    05:58
  • 70 - Setting published date automatically EventSubscriber.mp4
    07:10
  • 71 - API subresources.mp4
    05:19
  • 72 - Controlling how deep relations are serialized.mp4
    07:43
  • 73 - Embedding Author resource inside BlogPost.mp4
    04:09
  • 74 - Adding user role field with migration.mp4
    05:48
  • 75 - User role fixtures.mp4
    09:26
  • 76 - Defining role hierarchy.mp4
    01:40
  • 77 - Verifying only users with specific role can POST resources.mp4
    09:43
  • 78 - Different User view for admins different serialization of all User entities.mp4
    09:20
  • 79 - Verifying only admin can see all Users email.mp4
    03:02
  • 80 - User can view his full profile including email and roles custom Normalizer.mp4
    11:16
  • 81 - Verifying only the profile owner can see all properties.mp4
    01:25
  • 82 - Disabling password hashing for PUT operation.mp4
    05:52
  • 83 - Configuring custom operation for password reset in User.mp4
    02:20
  • 84 - Creating custom Action class.mp4
    10:31
  • 85 - Implementing custom PasswordReset action.mp4
    08:35
  • 86 - Invalidating JWT tokens after password reset.mp4
    11:17
  • 87 - User enabled property migration and fixtures.mp4
    05:17
  • 88 - Implementing UserChecker to verify if account is enabled.mp4
    03:50
  • 89 - Secure confirmation token generation.mp4
    05:42
  • 90 - Generating confirmation token when user signsup.mp4
    04:34
  • 91 - UserConfirmation custom API Resource.mp4
    03:35
  • 92 - UserConfirmation EventSubscriber.mp4
    06:38
  • 93 - Verifying Confirmation Token endpoint.mp4
    02:48
  • 94 - Install and configure Swift Mailer.mp4
    03:49
  • 95 - Sending a test email through Gmail.mp4
    02:17
  • 96 - Refactoring UserConfirmation and Mailer into services.mp4
    08:25
  • 97 - Traditional non API account confirmation route for email.mp4
    04:56
  • 98 - Verifying confirmation link received in email.mp4
    02:05
  • 99 - Install and configure uploading library.mp4
    04:03
  • 100 - Image entity with migration and Uploadable annotation.mp4
    05:13
  • 101 - API Resource for Image entity.mp4
    02:48
  • 102 - Implementing custom Action for upload.mp4
    05:50
  • 103 - Creating Form for file upload.mp4
    05:37
  • 104 - Assigning Image to BlogPost ManyToMany relation.mp4
    03:59
  • 105 - Verifying assigning Image to BlogPost embedding Image inside BlogPost.mp4
    04:21
  • 106 - Configuring default collection sorting order.mp4
    03:33
  • 107 - Search filter.mp4
    06:39
  • 108 - Date filter.mp4
    04:31
  • 109 - Range filter.mp4
    02:05
  • 110 - Sorting filter.mp4
    04:25
  • 111 - Filtering by nested properties.mp4
    02:03
  • 112 - Property filter.mp4
    02:59
  • 113 - Configuring collection pagination.mp4
    06:06
  • 114 - Configuring collection pagination part 2.mp4
    04:35
  • 115 - Partial pagination performance gain.mp4
    :
  • 116 - Empty request body for POSTPUT requests problem.mp4
    :
  • 117 - Handling empty request body.mp4
    06:24
  • 118 - Fixing validation groups.mp4
    01:57
  • 119 - Handling business logic exceptions.mp4
    03:50
  • 120 - Installing Monolog library for application logging.mp4
    07:55
  • 121 - Defining custom logging channel.mp4
    04:31
  • 122 - Logging to separate files per channel.mp4
    02:41
  • 123 - Production configuration for logger explained.mp4
    03:38
  • 124 - EasyAdmin basic builtin features.mp4
    07:01
  • 125 - Fixing empty body subscriber for form submittal.mp4
    :
  • 126 - Custom Resource controller customizing saving and updating an Entity.mp4
    08:20
  • 127 - Image upload in admin panel.mp4
    03:57
  • 128 - Custom page for individual BlogPost.mp4
    05:26
  • 129 - Securing Admin panel area.mp4
    06:06
  • 130 - Installing PHPUnit and writing first basic unit test.mp4
    07:06
  • 131 - Testing EventSubscriber static configuration.mp4
    04:26
  • 132 - Mocks stubs Part 1 Mocking dependencies Entities.mp4
    05:31
  • 133 - Mocks stubs Part 2 Mocking dependencies Entites.mp4
    05:09
  • 134 - Event class Mock extracting repeated mock factory code.mp4
    03:28
  • 135 - Parameters for mocks.mp4
    04:49
  • 136 - Full test for AuthoredEntitySubscriber.mp4
    06:37
  • 137 - Data providers in tests using many data sets in 1 test case.mp4
    04:42
  • 138 - Finding potential errors using unit tests null Token example.mp4
    05:45
  • 139 - Installing Behat & all extensions first suite run.mp4
    02:59
  • 140 - Configuring Behat.mp4
    04:51
  • 141 - FeatureContext creating database schema for each feature.mp4
    08:25
  • 142 - First blog post test scenario.mp4
    05:49
  • 143 - Testing protected URLs.mp4
    07:04
  • 144 - Validating returned JSON using patterns not matching exact values.mp4
    06:31
  • 145 - Looking for errors and issues using functional tests.mp4
    03:10
  • 146 - Finding a comment problem.mp4
    06:28
  • 147 - Custom error listener.mp4
    13:05
  • 148 - Image upload feature.mp4
    06:20
  • 149 - Working image upload functional test.mp4
    02:40
  • 150 - Testing assigning Images to BlogPost full suite run.mp4
    04:49
  • 151 - Installing node & npm on Windows.mp4
    01:18
  • 152 - Installing node & npm on MacOS.mp4
    01:00
  • 153 - Before you start coding a React app.html
  • 153 - api-platform-react-js-363cb7e3ac7ef4310360ec658241db55346cccfa.zip
  • 154 - Installing dependencies and creating main indexjs.mp4
    03:05
  • 154 - api-platform-react-js-363cb7e3ac7ef4310360ec658241db55346cccfa.zip
  • 155 - Creating store using Provider Router and components.mp4
    05:44
  • 156 - BlogPostList empty component App as a container component.mp4
    02:40
  • 157 - BlogPostContainer using key for list of elements.mp4
    06:18
  • 158 - Redux actions reducer mapping state and dispatch to props 1.mp4
    07:01
  • 159 - Redux actions reducer mapping state and dispatch to props 2.mp4
    04:35
  • 160 - Adding BlogPost dummy action Reducer explained.mp4
    04:28
  • 161 - Making API requests with Superagent.mp4
    04:59
  • 162 - Thunk Redux Middleware.mp4
    09:18
  • 163 - Header component navigation.mp4
    03:30
  • 164 - Loading indicator when making API requests.mp4
    03:41
  • 165 - Formatting BlogPost list formatting time timeagojs.mp4
    03:32
  • 166 - Route with parameter individual BlogPost.mp4
    04:06
  • 167 - Fetching BlogPost from API.mp4
    06:27
  • 168 - ComponentWillUnmount lifecycle method.mp4
    04:41
  • 169 - BlogPost component API changes.mp4
    02:43
  • 170 - Spinner and Message components loading state simple message.mp4
    05:35
  • 171 - CommentListContainer component.mp4
    10:30
  • 172 - CommentList reducer.mp4
    03:44
  • 173 - Rendering comments.mp4
    02:58
  • 174 - Introducing reduxform.mp4
    02:23
  • 175 - Render redux form component.mp4
    06:27
  • 176 - Adding reduxform reducer.mp4
    02:10
  • 177 - Submitting Form to an API endpoint.mp4
    03:56
  • 178 - Storing JWT token in LocalStorage Token Middleware.mp4
    03:14
  • 179 - Token Middleware and JWT authentication plugin 1.mp4
    07:10
  • 180 - Token Middleware and JWT authentication plugin 2.mp4
    06:05
  • 181 - Reading token in App component constructor.mp4
    06:29
  • 182 - Redux Form submission handling login errors.mp4
    03:13
  • 183 - Checking whether user is authenticated in Header component.mp4
    03:21
  • 184 - Fetching user profile through API.mp4
    06:19
  • 185 - Rendering signedin username in Header.mp4
    07:42
  • 186 - Fetching user profile on page refresh.mp4
    05:35
  • 187 - Create a reduxform for Comment posting.mp4
    04:40
  • 188 - Reduxform submitting state simulation.mp4
    02:26
  • 189 - Fully working CommentForm.mp4
    04:20
  • 190 - Displaying errors in reduxform.mp4
    03:42
  • 191 - Parsing API errors validation constraint messages from API.mp4
    04:11
  • 192 - Animations animated comment adding.mp4
    05:46
  • 193 - Logout functionality resetting stored JWT token.mp4
    06:19
  • 194 - Logging out user when token expires.mp4
    05:56
  • 195 - Logging out user when he submits an expired token 401.mp4
    03:02
  • 196 - Paginator component.mp4
    03:46
  • 197 - Paginator component showing current page.mp4
    02:46
  • 198 - Fetching blog post collection on page change.mp4
    07:09
  • 199 - Query parameter based pagination page in route parameter.mp4
    04:33
  • 200 - Pagination previousnext buttons.mp4
    09:26
  • 201 - Modify API missing User embedded data on new Comment.mp4
    01:47
  • 202 - LoadMore component fetching next comments different way of pagination.mp4
    08:46
  • 203 - Append new comments inside reducer.mp4
    02:48
  • 204 - Registration form.mp4
    05:31
  • 205 - Registration action creators and form validation.mp4
    10:21
  • 206 - ConfirmationToken modify email to contain token not only link.mp4
    03:14
  • 207 - RegistrationContainer 2 step registration process.mp4
    03:51
  • 208 - Showing ConfirmationToken form on successful account creation.mp4
    05:20
  • 209 - Keeping state of registrationconfirmation process.mp4
    05:16
  • 210 - RegistrationConfirmation process with redirect timer.mp4
    08:16
  • 211 - BlogPost form for creating posts and user permissions.mp4
    05:19
  • 212 - Functional BlogPost form.mp4
    05:13
  • 213 - ImageUpload component styling the file input.mp4
    06:31
  • 214 - Uploading images upload request.mp4
    09:49
  • 215 - ImageBrowser preview uploaded images.mp4
    05:04
  • 216 - A new reducer for BlogPostForm.mp4
    04:05
  • 217 - Clear the images when BlogPostForm unmounts.mp4
    07:16
  • 218 - DELETE operation on Image API Changes.mp4
    04:10
  • 219 - ImageBrowser animations.mp4
    03:37
  • 220 - Remove button on ImageBrowser.mp4
    03:57
  • 221 - Remove button on ImageBrowser sending DELETE request.mp4
    03:15
  • 222 - Locking all buttons during Image uploadremoval.mp4
    04:46
  • 223 - Bonus.html
  • Description


    Learn how to make a robust REST API in Symfony using API Platform and create a React SPA application

    What You'll Learn?


    • You will know how to create a robust APIs in Symfony 4 using API Platform
    • You will understand the basics of Symfony Framework
    • You will know how to create a pretty complicated ReactJS application that works with API Platform (or any API!)

    Who is this for?


  • Anyone with at least a little knowledge about PHP and JavaScript who wants to take their skills to the next level
  • Anyone who would like to see how modern the applications are made in 2018
  • More details


    Description

    Have you ever wanted to advance your PHP skills to the next level? Maybe you have some prior PHP experience but you never had a change to work with a framework? Or you are new to PHP at all?

    It does not matter! You can take this course to give your PHP projects a fresh start! In modern world, sooner or later, as a web developer you will have to create a API and a frontend application in React.JS or any other JS framework out there. It's just a must have these days for any professional web developer!

    This is where I can help you. Take this course to learn how to create robust APIs in PHP, using Symfony Framework 4 and API Platform. You will not believe how easy and instant it could be! I'll take you step by step during the whole process, from creating your own robust API to making a modern React.JS application using Redux, Redux-Form and all the other tools that you just need to know to get a job these days!

    Check out the course outline, free preview videos, and read some of the reviews that my other courses got:

    "Real world course, made by a developer for developers, and very well explained. Learner knows ALL what he does, and why! Congratz!!!"

    "I've taken a few different Udemy courses now with various instructors. I've found that I like Piotr's teaching style the best out of all the instructors I've taken. He has the right balance of coding and in depth explanation, which is exactly what I was hoping to get when I purchased this course. Piotr provides some excellent insight into the inner workings of Symfony and does an awesome job of showing how you would begin to build a larger application utilizing the proper Symfony components. Symfony is a huge framework and I don't think I would've been able to dig into the documentation and take it apart as quickly on my own. I highly recommend this course to anyone who wants to get their hands dirty and jump right into the meat of how Symfony works."

    "Really good course, i learned a lot. Keep up the good job!!"

    "Great course! Really liked how the instructor included production deployment in the course. It was helpful!"

    "Very detailed explanation. I'm loving it!"

    "Amazing course! In-depth explanations, perfect talking pace, talks slow and is direct to the point. I had no previously knowledge in Symfony before starting, and this course gave me the confidence to start developing real world apps using Symfony. You will learn a lot of the Symfony framework, and some other cool techniques like Ajax Calls, Testing, Server configuration and Continous Deployment of your code."


    You will be creating a Blog application, starting with the API in Symfony API Platform, and then a complete React+Redux frontend app. We will also configure an administration panel for managing the platform.

    Both Windows and MacOS are supported (I'll show you how to install and configure PHP and Node.js on both)

    What will you learn about Symfony and API Platform?

    • You will learn how to create Symfony controllers and work with routing

    • You will learn how to represent your database tables as objects in Doctrine

    • You will see how you can quickly convert your Doctrine model to an API Resource

    • You will learn how to paginate, filter and sort your collections

    • You will see how to send an e-mail

    • You will learn everything about Authentication (user sign-up, sign-in, including account confirmation through e-mail)

    • You will understand everything about Authorization (User roles, privileges, restricting access)

    • You will know how to handle file uploads through REST API

    • You will learn how to log errors

    • You will learn both unit testing (PHPUnit) and functional testing (Behat)

    • You will know how to customize and extend the built-in operations that API Platform provide

    • Data validation and serialization/deserialization

    What will you learn about React.js?

    • How to configure routes for your app using React Router

    • How to handle state with Redux

    • How to create great forms using Redux Forms

    • Communicating with the API using Thunk Middleware

    After finishing this course you will be able to confidently create your own complicated APIs in Symfony using API Platform and create a SPA application using React.js!

    See you inside the course!

    Who this course is for:

    • Anyone with at least a little knowledge about PHP and JavaScript who wants to take their skills to the next level
    • Anyone who would like to see how modern the applications are made in 2018

    User Reviews
    Rating
    0
    0
    0
    0
    0
    average 0
    Total votes0
    Focused display
    Category
    Piotr Jura | 45,000+ Enrollments
    Piotr Jura | 45,000+ Enrollments
    Instructor's Courses
    Hey there, I'm Piotr Jura, and I've been tinkering with things since I was old enough to hold a screwdriver. I'm passionate about taking complex technology and breaking it down into bite-sized chunks that anyone can understand.With over 15 years of experience under my belt, I've worked with a vast array of web development technologies – from front-end to back-end, I've seen it all. I've gained expertise in Vue, Node.js, Symfony, and Laravel, and I'm excited to share my knowledge with you.My courses on Udemy cover everything you need to know to become a proficient developer, no matter what level you're at. If you're new to Vue, then my course, "Vue 3 incl. Router, VueX, Composition API & Firebase," is perfect for you. You'll learn everything you need to know to be job-ready and tackle your own projects with confidence.For Node.js enthusiasts, I've got the "Master NestJS - The JavaScript Node.js Framework" course. You'll learn how to create enterprise-level applications using the NestJS framework – it's a must-watch for anyone looking to level up their Node.js game.If Symfony is your thing, then I've got you covered too. "Symfony 6 Framework Hands-On 2022" is a fantastic course that covers the basics of the Symfony framework, while "PHP Symfony 4 API Platform + React.js Full Stack Masterclass" will help you create APIs and level up your full-stack development skills.Finally, if you're interested in Laravel, my courses will take you from beginner to expert in no time. "Master Laravel PHP for Beginners and Intermediate" is perfect for getting started, while "Master Laravel 9, Vue 3 & Inertia Fullstack 2023" and "Master Laravel with GraphQL, Vue.js, and Tailwind" will help you take your Laravel skills to the next level, including creating APIs, developing SPAs, and learning GraphQL.No matter what your skill level, I'm confident that I can help you take your development skills to the next level. So, why not join one of my courses and get started today? Who knows – you might just surprise yourself with how much you can learn.
    Students take courses primarily to improve job-related skills.Some courses generate credit toward technical certification. Udemy has made a special effort to attract corporate trainers seeking to create coursework for employees of their company.
    • language english
    • Training sessions 220
    • duration 19:11:48
    • English subtitles has
    • Release Date 2023/05/18