Awesome Vapor
Vapor is currently one of the most popular server-side Swift frameworks. It allows you to take the language you already know if you ever developed an iOS application and use it in a whole new way, to develop fast, scalable and reliable back-end systems that integrate easily with a wide range of third party services. This is a curated list of:
- modern libraries that easily integrate with Vapor and follow Vapor’s philosophy of providing simple, clean yet powerful APIs;
- well-written tutorials, books, videos and education materials;
- tools to make your development process simpler and more enjoyable;
- and more!
Contents
How to use
Simply press Command + F to search for a keyword. If you’re only interested in entries related to Vapor 2 or only to Vapor 3, you may use the automatically generated filtered lists available on the filtered
branch by visiting the links in this sentence.
Libraries
- API Error Middleware – Vapor middleware for converting thrown errors to JSON responses.
- APNS – Vapor APNS for iOS.
- AWS – Swift wrapper around AWS API.
- Bugsnag – Report errors with Bugsnag.
- CSRF – A package to add protection to Vapor against CSRF attacks.
- CSV Framework – A simple framework to read and write CSV files.
- Ferno – Vapor Firebase Realtime database provider.
- Flash – Flash messages between views.
- FluentQuery – Build complex raw SQL queries while still using Swift keypaths.
- Forms – Tools for working with Forms in Vapor.
- Gatekeeper – Rate limiting middleware for Vapor.
- Google Cloud Provider – Interact with Google Cloud Platform APIs from your Vapor project.
- Guardian – Modern rate-limiting middleware.
- Imperial – Federated Authentication with OAuth providers.
- JWT Keychain – Easily scaffold a keychain using JWT for Vapor.
- JWT Middleware – Middleware to Authenticate and Authorize Requests in Vapor.
- Leaf Error Middleware – Serve up custom 404 and server error pages for your Vapor App.
- Leaf Markdown – Markdown renderer for Vapor.
- Lingo Vapor – Vapor provider for Lingo – the Swift localization library.
- Local Storage – Storage driver using local filesystem.
- MailCore – Sending e-mails via SMTP, MailGun and SendGrid.
- Meow – An alternative codable ORM for MongoDB.
- MongoKitten – MongoDB driver in Swift.
- Pagination – Simple Vapor 3 Pagination.
- Paginator – Query pagination for Vapor and Fluent.
- S3 – Library for accessing the Amazon S3 service (and compatible) with support for most commonly used operations.
- S3 Storage – Library for simple access to the Amazon S3 service.
- Sanitize – Powerful model extraction from Vapor JSON requests.
- Sanitized – Safely extract and validate Vapor models from requests.
- SendGrid Provider – SendGrid-powered mail backend for Vapor.
- SimpleFileLogger – A simple file logging provider for Vapor.
- Slugify – Convenience for sluggifying your strings.
- Storage – Eases the use of multiple storage and CDN services.
- Stripe Provider – Stripe Provider for Vapor.
- Submissions – Conveniences for creating forms and validating (form) submissions.
- SwiftyBeaver Provider – SwiftyBeaver Logging Provider for Vapor, the server-side Swift web framework.
- Sugar – A package of sugar for Vapor.
- Telesign Provider – A Telesign provider for Vapor.
- UAPusher – Send push notifications using Urban Airship.
- VaporAPNS – Simple APNS Library for Vapor (Swift).
- VaporExt – A collection of Swift extensions for wide range of Vapor data types and classes.
- Vapor Mailgun Service – A service to be used with Vapor to send emails.
- Vapor OAuth – OAuth2 Provider Library for Vapor.
- Vapor OAuth Fluent – Fluent Implementations For Vapor OAuth.
- Vapor reCAPTCHA – Validate Google reCAPTCHAs using Vapor.
- Vapor Request Storage – A replacement for
request.storage
which was available in Vapor 1 & 2. - Vapor Security Headers – Harden Your Security Headers For Vapor.
- Vapor Test Tools – Helper designed to make testing your endpoints in Vapor 3 pain-free.
- WKHTMLTOPDF – Build PDF files from Leaf templates or web pages through the
wkhtmltopdf
CLI tool. - XMLCoding – XML encoder and decoder.
- CrudRouter – Automatic RESTful CRUD router generation for any Fluent Model.
Tools
- Ether – A Command-Line Interface for the Swift Package Manager.
- Heroku buildpack: curl with HTTP/2 support
- Ice – A developer friendly package manager for Swift; 100% compatible with Swift Package Manager.
- Sourcery – Meta-programming for Swift, stop writing boilerplate code.
- Sourcery Templates – Building Vapor projects using meta programming with Sourcery.
- Sublimate – Fast prototyping with synchronization and authentication based on Sourcery.
- Swifter – A macOS tool to help you manage your Xcode projects and give you a quick access to DerivedData folder cleaning and management.
Services
Education
Articles
- Developing and deploying Vapor 3 with Docker
- Fluent And Controllers - Part 1
- Fluent Part 2 - Parent-Child Relationships
- Fluent Part 3 - Sibling Relationships
- Fluent Part 4 - Persistence With MySQL And Fluent Patterns
- Getting started with Vapor
- Leaf Part 1 - Getting Started
- Vapor 2 with Docker – Definitive Docker guide for Vapor 2.
- Vapor 3 with Docker – Definitive Docker guide for Vapor 3.
- Vapor 3 Tutorials – Big collection of small tutorials.
- Transforming from Vapor 2 to Vapor 3 – Transitioning from Vapor 2 to Vapor 3 with a real world project.
Books
Newsletters
- VaporNation – Weekly Vapor newsletter with all things Vapor.
Videos
Open-source Projects
- CocoaHeads Russia – Server side API for the CocoaHeads Russia app.
- Server-side Swift Racing – Statistics on growth trend of all major server-side swift frameworks.
- Starred Search – Search READMEs in starred GitHub repositories.
- SteamPress – A Blogging Engine and Platform written in Swift for use with the Vapor Framework.
- User Manager Service – A small, useful user manager made for production application setups.
- VaporBerlin – The backend of meetup website for VaporBerlin.
- Vapor Chat – A real-time chat client built with Vapor that features an iOS app.
License
To the extent possible under law, Milan Vit has waived all copyright and related or neighbouring rights to this work.