
Learn to build a backend with Vapor, a Swift server-side framework, using a non-blocking architecture and REST concepts such as get, post, put, and delete.
Create routes in Vapor 3 by building get and post endpoints, testing hello world responses, and handling JSON user info with decoding and encoding.
Learn how fluent orm in vapor connects Swift to databases, create a work model, handle migrations, expose a rest endpoint, and deploy to Vapor Cloud.
Explore configuring relational and non-relational databases in Vapor 3, set up SQLite for quick tests, switch to MySQL or PostgreSQL with Docker, run migrations, and prepare for cloud deployment.
Automate the creation of a database entry in Vapor by building and testing a post request, configuring Docker containers, and refactoring code for reusable API tests.
Learn to retrieve records from a Vapor 3 application programming interface by wiping the database, posting sample items, and fetching all items or a single item via get requests.
Learn to update a database object in a Vapor 3 app using PostgreSQL, REST, decoding requests, and flatMap to coordinate read and update operations.
Learn how to delete a database object in Vapor 3 by issuing a delete request, handling future results, and validating the operation with automated tests.
Learn how to build and query a Vapor 3 API to manage work items: fetch, filter by project name or progress, support case-insensitive searches, and sort or limit results.
Learn to organize vapor apps with controllers and register them to the router. Implement CRUD operations for work and employee models using grouped API routes and tests to validate behavior.
learn to implement a one-to-many relationship between work and employee in Vapor 3, including adding an employee id, parent-child extensions, and fetching related data with migrations and tests.
Learn to implement a many-to-many relationship between work and category in Vapor, using a bridge model, migrations, and api endpoints to create, fetch, and delete relationships with foreign key constraints.
Update your Vapor 3 project by refining the many-to-many relationship, adding cascade deletes, switching to fluent commands, migrating, rebooting the Postgres database, and running tests.
Learn to build an iOS app for the WIPA project using Xcode and Vapor, including category models, a storyboard interface, and basic create, fetch, and delete operations.
Demonstrates building an iOS challenge app solution part 1 by creating employee and work objects, categories, and linked view controllers with storyboards, segues, forms, validation, and data fetching.
Capture the iris app part two goal: integrate category management into the work detail view, fetch relationships, add categories, and support editing and saving with segues.
Import Leaf into a Vapor app to render dynamic pages with header and footer templates, register Leaf provider, and render an index view from resources/views.
Inject variables in Vapor 3 using Leaf templates and an index context to display a dynamic title and a works table with links to detail pages.
Learn to reduce duplication in Vapor 3 apps by creating a base template and embedding page content, then build employee detail and category detail pages with linked work items.
Beautify the Vapor app by integrating Bootstrap into the base blade, adding a responsive nav bar, and building all employees and all categories pages with Bootstrap-styled tables and navigation.
Create a work entry in leaf with a form for project name, progress, and assigned employee, posting to works/create and redirecting to the work detail page, with a bootstrap navbar.
Learn to edit and delete a work in a Vapor 3 app, reusing the edit page, posting updates, and adding a delete button on the work detail.
Learn to add and edit categories for a work item using select2, CDN scripts, and a dynamic category workflow that creates or attaches categories to works.
Add a password field to the employee model, enforce unique usernames, and migrate the database. Encrypt passwords and ensure they are not returned in responses to protect user security.
Learn how to implement basic authentication in Vapor 3 by importing the authentication package, configuring a basic authenticate provider, and protecting the post create route with authorization checks.
Learn to generate a secure authentication token by logging in with basic authentication and use that token to authorize subsequent create-work requests.
Learn to implement token-based authentication in Vapor 3, using basic auth to obtain a token, then authorize protected routes with bearer tokens for employees, works, and categories.
Update tests for authentication in Vapor 3 by adding unique usernames and passwords. Implement token-based access, admin seed data, and automated stress testing for work, category, and employee endpoints.
Build an iOS login flow in storyboard that authenticates with an API using username and password fields, a login button, and token handling with user defaults.
Log out of iOS app using authentication token for API requests and auto-log out on authentication failure. Enforce token-based authorization for creating work, employee, and category, redirecting on unauthorized.
Learn to implement session-based login with cookies in Vapor 3, building a login page for username and password, validating credentials, persisting sessions, and redirecting to the home page.
learn to implement a session logout in a Vapor 3 app by adding a logout button, securing routes, and redirecting unauthenticated users to the login page.
Learn to authenticate create work and prevent hacking by using a csr token stored in the session and validated on submit for create or update.
Learn how to implement cookies with user consent in a Vapor 3 app by combining sessions with cookies, creating CSS and JavaScript files, and setting a one-year expiry.
Register a new employee by entering full name, username, password, and confirm password; submit to create the employee and redirect to the home page, where you see the new employee.
Implement and validate user input in a Vapor 3 app using the Vapor validation framework, adding client- and server-side checks for username, password, and full name, with error messaging.
Learn how to migrate a live PostgreSQL database in Vapor 3 by adding fields or models, creating migrations, backing up data, and testing locally before production deployment.
Learn to build a RESTful API with Vapor, connect a custom backend to iOS and Android apps, and create a web app using Vapor, including authentication with cookies and sessions.
In this course I am going to teach you how to build basic API with Vapor. Starting with setting up routes/URLs and database. Then doing basic CRUD operations. Then Relationships like parent child and sibling relationships. We are going to automatically test all of these code with unit tests.
Then we are going to build iOS app to make use of the API that we built.
After that we are going to build a web app using Leaf templates. Leaf allows us to create templates that we can embed into another template. This avoid duplicate entries. For example create header and footer once and embed them into all pages. So to update header you only update at single place. Then it will be updated on all places.
Then we are going to do authentication on iOS app and Web App.