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 3 or only to Vapor 4, you may use the automatically generated filtered lists available on the filtered
branch by visiting the links in this sentence. You may also find the legacy archived content in the legacy
folder.
Libraries
- API Error Middleware β Vapor middleware for converting thrown errors to JSON responses.
- APNS β Vapor APNS for iOS.
- Bugsnag β Report errors with Bugsnag.
- CouchDB Client β Simple CouchDB client for Vapor.
- CrudRouter β Automatic RESTful CRUD router generation for any Fluent Model.
- 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.
- 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.
- 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.
- Sugar β A package of sugar for Vapor.
- SwifQL β Easily build flexible and type-safe SQL with pure Swift.
- SwiftyBeaver Provider β SwiftyBeaver Logging Provider for Vapor, the server-side Swift web framework.
- Telesign Provider β A Telesign provider for Vapor.
- Vapor Mailgun Service β A service to be used with Vapor to send emails.
- 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.
- VaporExt β A collection of Swift extensions for wide range of Vapor data types and classes.
- WKHTMLTOPDF β Build PDF files from Leaf templates or web pages through the
wkhtmltopdf
CLI tool. - XMLCoding β XML encoder and decoder.
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.
- 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
- Deep Dive into Setup and Deployment for Heroku and Ubuntu
- How to test controllers by mocking dependencies in Vapor 3 and Swift
- 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.
- Tutorials for Beginner to Advanced β Written tutorials for Beginner to Advanced.
- Using the dependency injection framework for testing in Vapor 3 and Swift β How to use dependency injection framework which will help you manage dependencies and mock them inside your tests.
- Watermarking photos with ImageMagick, Vapor 3 and Swift on macOS and Linux β Tutorial on how to use the ImageMagick library in Swift.
- Whatβs new in Vapor 4?
Books
Newsletters
- VaporNation β Weekly Vapor newsletter with all things Vapor.
Videos
Open-source Projects
- 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.
License
To the extent possible under law, Milan Vit has waived all copyright and related or neighbouring rights to this work.