Server-Side Swift with Vapor
In this course you will learn about Vapor, the Server-Side Swift web framework, learning everything you need to build powerful APIs and websites in Swift. By Tim Condon.
Part 1: Getting Started With Vapor
In this introduction video you'll learn about Vapor and review what you’ll be learning over this course.
Learn how to create your first Vapor app by installing the Vapor toolbox and building your first routes.
Learn about how HTTP works, how requests and responses work and learn about the different methods and status codes.
In this video, you'll learn how to accept data in your Vapor applications and parse it with Codable.
Challenge time! You will be tasked with creating your own routes, using all the skills learnt in the previous videos
Review what you have learned in the section and see what will be coming up in the next section of the course.
Part 2: Creating An API
In this video we'll review what we are going to cover in this section and learn about what Fluent is.
Learn about why Vapor is asynchronous how it works and how Vapor uses async.
In this video you will learn how to create models using Fluent and how to configure your databases.
Learn how to create controllers to organize routes and how to save and retrieve models using Fluent.
Learn how to retrieve individual models in Fluent using parameters and learn how to update and delete models using Fluent.
Time to put all of your new knowledge to the test and create your own models and controllers in this challenge.
Learn how to set up parent-child relationships in Fluent and how to query models for the parent-child relationships.
Learn how to set up sibling relationships in Fluent and how to set up queries to retrieve model's siblings.
Learn how to take advantage of Fluent to perform powerful queries on your databases.
Learn how to setup your Vapor application to use MySQL as a database, using Docker, so your data is persisted.
Review what you have learned in the section and see what will be coming up in the next section of the course.
Part 3: Templating With Leaf
Let’s review what we are going to learn in the section and have a quick look at Leaf and why it is useful.
Learn how to integrate Leaf into your application and start injecting data into Leaf templates.
Learn how to build powerful templates using for loops and if expressions to generate HTML.
Learn how to take full advantage of Leaf and embed templates in other templates to reduce duplication.
Learn how to integrate the Bootstrap framework into our application to provide easy styling.
In this challenge video you will put all of your Leaf skills to the test and create your own pages.
Learn how to send data with web forms and accept the data back in our Vapor application to create models.
Learn how to reuse templates to edit models and learn how to delete models on the web.
Review what you have learned in this section and see what will be coming up in the next section of the course.
Part 4: Authentication
Let’s review what we are going to learn in the section and have a quick look at the different types of Authentication and passwords.
Learn how to change your user models to allow authentication with passwords and create a token model.
Learn how to protect APIs with authentication using both HTTP Basic Authentication and Token Authentication.
Learn how to protect web pages with authentication using sessions and cookies.
Review what you have learned in both this section and see what will be coming up in the next section.
Part 5: The iOS App
Let’s review what we are going to learn in this section to complete the final client - the iOS application.
Learn how to use the Vapor API in the iOS Application to retrieve all the acronyms, users and categories and display them in the iOS app.
Learn how to work with the authentication in the Vapor API to be able to create and delete models from the iOS application.
Learn how to build a nice user experience in the iOS application to add acronyms to different categories.
In this conclusion video, we'll review what you have learned in both this section and throughout the course.