[[
wikihub
]]
Search
⌘K
Explore
People
For Agents
Sign in
Explore
People
For Agents
Sign in
@harrisonqian / Awesome / wiki/back-end-development/vapor.md
Suggest edit
Cancel
Submit suggestion
Title
Name
Note
--- visibility: public --- # Vapor **repo:** [vapor-community/awesome-vapor](https://github.com/vapor-community/awesome-vapor) **category:** [[back-end-development|Back-End Development]] **related:** [[swift|Swift]] · [[ios|iOS]] --- # Awesome Vapor [](https://awesome.re) [<img src="img/vapor-logo.png" align="right" width="150">](https://vapor.codes) [Vapor](https://vapor.codes) 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](/@harrisonqian/awesome/wiki/computer-science/tutorials), books, videos and [education](/@harrisonqian/awesome/wiki/back-end-development/education) materials; - tools to make your development process simpler and more enjoyable; - and more! ## Contents - [How to use](#how-to-use) - [Libraries](#libraries) - [Tools](#tools) - [Services](#services) - [Education](#education) - [Articles](#articles) - [Books](#books) - [Newsletters](#newsletters) - [Videos](#videos) - [Open-source Projects](#open-source-projects) - [License](#license) ## How to use Simply press <kbd>Command</kbd> + <kbd>F</kbd> to search for a keyword. If you’re only interested in entries related to [Vapor 3](https://github.com/Cellane/awesome-vapor/blob/filtered/vapor-3.md) or only to [Vapor 4](https://github.com/Cellane/awesome-vapor/blob/filtered/vapor-4.md), 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](https://github.com/skelpo/APIErrorMiddleware) – Vapor middleware for converting thrown errors to [JSON](/@harrisonqian/awesome/wiki/miscellaneous/json) responses. -  [APNS](https://github.com/vapor-community/apns) – Vapor APNS for iOS. -  [Bugsnag](https://github.com/nodes-vapor/bugsnag) – Report errors with Bugsnag. -  [CouchDB Client](https://github.com/makoni/couchdb-vapor) – Simple [CouchDB](/@harrisonqian/awesome/wiki/databases/couchdb) client for Vapor. -  [CrudRouter](https://github.com/twof/VaporCRUDRouter) – Automatic RESTful CRUD router generation for any Fluent Model. -  [CSRF](https://github.com/vapor-community/CSRF) – A package to add protection to Vapor against CSRF attacks. -  [CSV Framework](https://github.com/skelpo/CSV) – A simple framework to read and write CSV files. -  [Ferno](https://github.com/vapor-community/ferno) – Vapor [Firebase](/@harrisonqian/awesome/wiki/platforms/firebase) Realtime [database](/@harrisonqian/awesome/wiki/databases/database) provider. -  [Flash](https://github.com/nodes-vapor/flash) – Flash messages between views. -  [FluentQuery](https://github.com/MihaelIsaev/FluentQuery) – Build complex raw SQL queries while still using [Swift](/@harrisonqian/awesome/wiki/programming-languages/swift) keypaths. -  [Gatekeeper](https://github.com/nodes-vapor/gatekeeper) – Rate limiting middleware for Vapor. -  [Google Cloud Provider](https://github.com/vapor-community/google-cloud-provider) – Interact with [Google Cloud](/@harrisonqian/awesome/wiki/platforms/google-cloud) Platform APIs from your Vapor project. -  [Guardian](https://github.com/Jinxiansen/Guardian) – Modern rate-limiting middleware. -  [Imperial](https://github.com/vapor-community/Imperial) – Federated Authentication with OAuth providers. -  [JWT Keychain](https://github.com/nodes-vapor/jwt-keychain) – Easily scaffold a keychain using JWT for Vapor. -  [JWT Middleware](https://github.com/skelpo/JWTMiddleware) – Middleware to Authenticate and Authorize Requests in Vapor. -  [Leaf Error Middleware](https://github.com/brokenhandsio/leaf-error-middleware) – Serve up custom 404 and server error pages for your Vapor App. -  [Leaf Markdown](https://github.com/vapor-community/leaf-markdown) – [Markdown](/@harrisonqian/awesome/wiki/miscellaneous/markdown) renderer for Vapor. -  [Lingo Vapor](https://github.com/vapor-community/Lingo-Vapor) – Vapor provider for Lingo – the [Swift](/@harrisonqian/awesome/wiki/programming-languages/swift) localization library. -  [Local Storage](https://github.com/gperdomor/local-storage) – Storage driver using local filesystem. -  [MailCore](https://github.com/LiveUI/MailCore) – Sending e-mails via SMTP, MailGun and SendGrid. -  [Meow](https://github.com/OpenKitten/Meow) – An alternative codable ORM for [MongoDB](/@harrisonqian/awesome/wiki/databases/mongodb). -  [MongoKitten](https://github.com/OpenKitten/MongoKitten) – [MongoDB](/@harrisonqian/awesome/wiki/databases/mongodb) driver in [Swift](/@harrisonqian/awesome/wiki/programming-languages/swift). -  [Pagination](https://github.com/vapor-community/pagination) – Simple Vapor 3 Pagination. -  [Paginator](https://github.com/nodes-vapor/paginator) – Query pagination for Vapor and Fluent. -  [S3](https://github.com/LiveUI/S3) – Library for accessing the Amazon S3 service (and compatible) with support for most commonly used operations. -  [S3 Storage](https://github.com/anthonycastelli/s3-storage) – Library for simple access to the Amazon S3 service. -  [Sanitize](https://github.com/gperdomor/sanitize) – Powerful model extraction from Vapor [JSON](/@harrisonqian/awesome/wiki/miscellaneous/json) requests. -  [SendGrid Provider](https://github.com/vapor-community/sendgrid-provider) – SendGrid-powered mail backend for Vapor. -  [SimpleFileLogger](https://github.com/hallee/vapor-simple-file-logger) – A simple file logging provider for Vapor. -  [Slugify](https://github.com/nodes-vapor/slugify) – Convenience for sluggifying your strings. -  [Storage](https://github.com/nodes-vapor/storage) – Eases the use of multiple storage and CDN services. -  [Stripe Provider](https://github.com/vapor-community/stripe-provider) – Stripe Provider for Vapor. -  [Submissions](https://github.com/nodes-vapor/submissions) – Conveniences for creating forms and validating (form) submissions. -  [Sugar](https://github.com/nodes-vapor/sugar) – A package of sugar for Vapor. -  [SwifQL](https://github.com/MihaelIsaev/SwifQL) – Easily build flexible and type-safe SQL with pure [Swift](/@harrisonqian/awesome/wiki/programming-languages/swift). -  [SwiftyBeaver Provider](https://github.com/vapor-community/swiftybeaver-provider) – SwiftyBeaver Logging Provider for Vapor, the server-side [Swift](/@harrisonqian/awesome/wiki/programming-languages/swift) web framework. -  [Telesign Provider](https://github.com/vapor-community/telesign-provider) – A Telesign provider for Vapor. -  [Vapor Mailgun Service](https://github.com/vapor-community/VaporMailgunService) – A service to be used with Vapor to send [emails](/@harrisonqian/awesome/wiki/front-end-development/emails). -  [Vapor reCAPTCHA](https://github.com/gotranseo/vapor-recaptcha) – Validate Google reCAPTCHAs using Vapor. -  [Vapor Request Storage](https://github.com/skelpo/vapor-request-storage) – A replacement for `request.storage` which was available in Vapor 1 & 2. -  [Vapor [Security](/@harrisonqian/awesome/wiki/security/security) Headers](https://github.com/brokenhandsio/VaporSecurityHeaders) – Harden Your [Security](/@harrisonqian/awesome/wiki/security/security) Headers For Vapor. -  [Vapor Test Tools](https://github.com/LiveUI/VaporTestTools) – Helper designed to make [testing](/@harrisonqian/awesome/wiki/testing/testing) your endpoints in Vapor 3 pain-free. -  [VaporExt](https://github.com/vapor-community/vapor-ext) – A collection of [Swift](/@harrisonqian/awesome/wiki/programming-languages/swift) extensions for wide range of Vapor data types and classes. -  [WKHTMLTOPDF](https://github.com/MihaelIsaev/wkhtmltopdf) – Build PDF files from Leaf templates or web pages through the `wkhtmltopdf` CLI tool. -  [XMLCoding](https://github.com/LiveUI/XMLCoding) – XML encoder and decoder. ## Tools - [Ether](https://github.com/Ether-CLI/Ether) – A Command-Line Interface for the [Swift](/@harrisonqian/awesome/wiki/programming-languages/swift) Package Manager. - [Heroku buildpack: curl with HTTP/2 support](https://github.com/vzsg/heroku-buildpack-curl-http2) - [Ice](https://github.com/jakeheis/Ice) – A developer friendly package manager for [Swift](/@harrisonqian/awesome/wiki/programming-languages/swift); 100% compatible with [Swift](/@harrisonqian/awesome/wiki/programming-languages/swift) Package Manager. - [Sourcery](https://github.com/krzysztofzablocki/Sourcery) – Meta-programming for [Swift](/@harrisonqian/awesome/wiki/programming-languages/swift), stop writing boilerplate code. -  [Sublimate](https://github.com/gabrielepalma/sublimate) – Fast prototyping with synchronization and authentication based on Sourcery. - [Swifter](https://github.com/LiveUI/Swifter) – A macOS tool to help you manage your Xcode projects and give you a quick access to DerivedData folder cleaning and management. ## Services - [Vapor Cloud](https://vapor.cloud) - [Vapor Red](https://vapor.red) ## Education ### Articles -  [Deep Dive into Setup and Deployment for [Heroku](/@harrisonqian/awesome/wiki/platforms/heroku) and Ubuntu](https://learningswift.brightdigit.com/vapor-heroku-ubuntu-setup-deploy/) -  [How to test controllers by mocking dependencies in Vapor 3 and Swift](https://mikemikina.com/blog/how-to-test-controllers-by-mocking-dependencies-in-vapor-3-and-swift/) -  [Vapor 3 Tutorials](https://mihaelamj.[github](/@harrisonqian/awesome/wiki/development-environment/github).io/Vapor%20%203%20Tutorial/) – Big collection of small [tutorials](/@harrisonqian/awesome/wiki/computer-science/tutorials). -  [Transforming from Vapor 2 to Vapor 3](https://www.skelpo.com/blog/vapor2-to-vapor3/) – Transitioning from Vapor 2 to Vapor 3 with a real world project. -  [Tutorials for Beginner to Advanced](https://medium.com/@martinlasek) – Written [tutorials](/@harrisonqian/awesome/wiki/computer-science/tutorials) for Beginner to Advanced. -  [Using the dependency injection framework for [testing](/@harrisonqian/awesome/wiki/testing/testing) in Vapor 3 and Swift](https://mikemikina.com/blog/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](/@harrisonqian/awesome/wiki/programming-languages/swift) on macOS and Linux](https://mikemikina.com/blog/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?](https://theswiftdev.com/2019/08/26/whats-new-in-vapor-4/) ### Books -  [Server Side [Swift](/@harrisonqian/awesome/wiki/programming-languages/swift) with Vapor](https://store.raywenderlich.com/products/server-side-swift-with-vapor) -  [Server-Side [Swift](/@harrisonqian/awesome/wiki/programming-languages/swift) (Vapor Edition)](https://www.hackingwithswift.com/store/server-side-swift) ### Newsletters - [VaporNation](http://vapornation.news) – Weekly Vapor newsletter with all things Vapor. ### Videos -  [Server Side [Swift](/@harrisonqian/awesome/wiki/programming-languages/swift) with Vapor](https://www.raywenderlich.com/4493-server-side-swift-with-vapor/lessons/1) -  [Vapor - Beginner to Advanced](https://www.youtube.com/channel/UCoLEXFUHIKXunm9QJjsAftw/videos) ## Open-source Projects -  [SteamPress](https://github.com/brokenhandsio/SteamPress) – A Blogging Engine and Platform written in [Swift](/@harrisonqian/awesome/wiki/programming-languages/swift) for use with the Vapor Framework. -  [User Manager Service](https://github.com/skelpo/UserManager) – A small, useful user manager made for production application setups. ## License [](https://creativecommons.org/publicdomain/zero/1.0/) To the extent possible under law, _Milan Vit_ has waived all copyright and related or neighbouring rights to this work.