Files
awesome-awesomeness/html/vapor.html
2025-07-18 22:22:32 +02:00

296 lines
14 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<h1 id="awesome-vapor-awesome">Awesome Vapor <a
href="https://awesome.re"><img src="https://awesome.re/badge.svg"
alt="Awesome" /></a></h1>
<p><a
href="https://vapor.codes"><img src="img/vapor-logo.png" align="right" width="150"></a></p>
<p><a href="https://vapor.codes">Vapor</a> 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:</p>
<ul>
<li>modern libraries that easily integrate with Vapor and follow Vapors
philosophy of providing simple, clean yet powerful APIs;</li>
<li>well-written tutorials, books, videos and education materials;</li>
<li>tools to make your development process simpler and more
enjoyable;</li>
<li>and more!</li>
</ul>
<h2 id="contents">Contents</h2>
<ul>
<li><a href="#how-to-use">How to use</a></li>
<li><a href="#libraries">Libraries</a></li>
<li><a href="#tools">Tools</a></li>
<li><a href="#services">Services</a></li>
<li><a href="#education">Education</a>
<ul>
<li><a href="#articles">Articles</a></li>
<li><a href="#books">Books</a></li>
<li><a href="#newsletters">Newsletters</a></li>
<li><a href="#videos">Videos</a></li>
</ul></li>
<li><a href="#open-source-projects">Open-source Projects</a></li>
<li><a href="#license">License</a></li>
</ul>
<h2 id="how-to-use">How to use</h2>
<p>Simply press <kbd>Command</kbd> + <kbd>F</kbd> to search for a
keyword. If youre only interested in entries related to <a
href="https://github.com/Cellane/awesome-vapor/blob/filtered/vapor-3.md">Vapor
3</a> or only to <a
href="https://github.com/Cellane/awesome-vapor/blob/filtered/vapor-4.md">Vapor
4</a>, you may use the automatically generated filtered lists available
on the <code>filtered</code> branch by visiting the links in this
sentence. You may also find the legacy archived content in the
<code>legacy</code> folder.</p>
<h2 id="libraries">Libraries</h2>
<ul>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://github.com/skelpo/APIErrorMiddleware">API Error
Middleware</a> Vapor middleware for converting thrown errors to JSON
responses.</li>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://github.com/vapor-community/apns">APNS</a> Vapor APNS for
iOS.</li>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://github.com/nodes-vapor/bugsnag">Bugsnag</a> Report
errors with Bugsnag.</li>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://github.com/makoni/couchdb-vapor">CouchDB Client</a>
Simple CouchDB client for Vapor.</li>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://github.com/twof/VaporCRUDRouter">CrudRouter</a>
Automatic RESTful CRUD router generation for any Fluent Model.</li>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://github.com/vapor-community/CSRF">CSRF</a> A package to
add protection to Vapor against CSRF attacks.</li>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://github.com/skelpo/CSV">CSV Framework</a> A simple
framework to read and write CSV files.</li>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://github.com/vapor-community/ferno">Ferno</a> Vapor
Firebase Realtime database provider.</li>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://github.com/nodes-vapor/flash">Flash</a> Flash messages
between views.</li>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://github.com/MihaelIsaev/FluentQuery">FluentQuery</a>
Build complex raw SQL queries while still using Swift keypaths.</li>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://github.com/nodes-vapor/gatekeeper">Gatekeeper</a> Rate
limiting middleware for Vapor.</li>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://github.com/vapor-community/google-cloud-provider">Google
Cloud Provider</a> Interact with Google Cloud Platform APIs from your
Vapor project.</li>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://github.com/Jinxiansen/Guardian">Guardian</a> Modern
rate-limiting middleware.</li>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://github.com/vapor-community/Imperial">Imperial</a>
Federated Authentication with OAuth providers.</li>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://github.com/nodes-vapor/jwt-keychain">JWT Keychain</a>
Easily scaffold a keychain using JWT for Vapor.</li>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://github.com/skelpo/JWTMiddleware">JWT Middleware</a>
Middleware to Authenticate and Authorize Requests in Vapor.</li>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://github.com/brokenhandsio/leaf-error-middleware">Leaf Error
Middleware</a> Serve up custom 404 and server error pages for your
Vapor App.</li>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://github.com/vapor-community/leaf-markdown">Leaf
Markdown</a> Markdown renderer for Vapor.</li>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://github.com/vapor-community/Lingo-Vapor">Lingo Vapor</a>
Vapor provider for Lingo the Swift localization library.</li>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://github.com/gperdomor/local-storage">Local Storage</a>
Storage driver using local filesystem.</li>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://github.com/LiveUI/MailCore">MailCore</a> Sending e-mails
via SMTP, MailGun and SendGrid.</li>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://github.com/OpenKitten/Meow">Meow</a> An alternative
codable ORM for MongoDB.</li>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://github.com/OpenKitten/MongoKitten">MongoKitten</a>
MongoDB driver in Swift.</li>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://github.com/vapor-community/pagination">Pagination</a>
Simple Vapor 3 Pagination.</li>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://github.com/nodes-vapor/paginator">Paginator</a> Query
pagination for Vapor and Fluent.</li>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://github.com/LiveUI/S3">S3</a> Library for accessing the
Amazon S3 service (and compatible) with support for most commonly used
operations.</li>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://github.com/anthonycastelli/s3-storage">S3 Storage</a>
Library for simple access to the Amazon S3 service.</li>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://github.com/gperdomor/sanitize">Sanitize</a> Powerful
model extraction from Vapor JSON requests.</li>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://github.com/vapor-community/sendgrid-provider">SendGrid
Provider</a> SendGrid-powered mail backend for Vapor.</li>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://github.com/hallee/vapor-simple-file-logger">SimpleFileLogger</a>
A simple file logging provider for Vapor.</li>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://github.com/nodes-vapor/slugify">Slugify</a> Convenience
for sluggifying your strings.</li>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://github.com/nodes-vapor/storage">Storage</a> Eases the
use of multiple storage and CDN services.</li>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://github.com/vapor-community/stripe-provider">Stripe
Provider</a> Stripe Provider for Vapor.</li>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://github.com/nodes-vapor/submissions">Submissions</a>
Conveniences for creating forms and validating (form) submissions.</li>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://github.com/nodes-vapor/sugar">Sugar</a> A package of
sugar for Vapor.</li>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://github.com/MihaelIsaev/SwifQL">SwifQL</a> Easily build
flexible and type-safe SQL with pure Swift.</li>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://github.com/vapor-community/swiftybeaver-provider">SwiftyBeaver
Provider</a> SwiftyBeaver Logging Provider for Vapor, the server-side
Swift web framework.</li>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://github.com/vapor-community/telesign-provider">Telesign
Provider</a> A Telesign provider for Vapor.</li>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://github.com/vapor-community/VaporMailgunService">Vapor
Mailgun Service</a> A service to be used with Vapor to send
emails.</li>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://github.com/gotranseo/vapor-recaptcha">Vapor reCAPTCHA</a>
Validate Google reCAPTCHAs using Vapor.</li>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://github.com/skelpo/vapor-request-storage">Vapor Request
Storage</a> A replacement for <code>request.storage</code> which was
available in Vapor 1 &amp; 2.</li>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://github.com/brokenhandsio/VaporSecurityHeaders">Vapor
Security Headers</a> Harden Your Security Headers For Vapor.</li>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://github.com/LiveUI/VaporTestTools">Vapor Test Tools</a>
Helper designed to make testing your endpoints in Vapor 3
pain-free.</li>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://github.com/vapor-community/vapor-ext">VaporExt</a> A
collection of Swift extensions for wide range of Vapor data types and
classes.</li>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://github.com/MihaelIsaev/wkhtmltopdf">WKHTMLTOPDF</a>
Build PDF files from Leaf templates or web pages through the
<code>wkhtmltopdf</code> CLI tool.</li>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://github.com/LiveUI/XMLCoding">XMLCoding</a> XML encoder
and decoder.</li>
</ul>
<h2 id="tools">Tools</h2>
<ul>
<li><a href="https://github.com/Ether-CLI/Ether">Ether</a> A
Command-Line Interface for the Swift Package Manager.</li>
<li><a href="https://github.com/vzsg/heroku-buildpack-curl-http2">Heroku
buildpack: curl with HTTP/2 support</a></li>
<li><a href="https://github.com/jakeheis/Ice">Ice</a> A developer
friendly package manager for Swift; 100% compatible with Swift Package
Manager.</li>
<li><a href="https://github.com/krzysztofzablocki/Sourcery">Sourcery</a>
Meta-programming for Swift, stop writing boilerplate code.</li>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://github.com/gabrielepalma/sublimate">Sublimate</a> Fast
prototyping with synchronization and authentication based on
Sourcery.</li>
<li><a href="https://github.com/LiveUI/Swifter">Swifter</a> A macOS
tool to help you manage your Xcode projects and give you a quick access
to DerivedData folder cleaning and management.</li>
</ul>
<h2 id="services">Services</h2>
<ul>
<li><a href="https://vapor.cloud">Vapor Cloud</a></li>
<li><a href="https://vapor.red">Vapor Red</a></li>
</ul>
<h2 id="education">Education</h2>
<h3 id="articles">Articles</h3>
<ul>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://learningswift.brightdigit.com/vapor-heroku-ubuntu-setup-deploy/">Deep
Dive into Setup and Deployment for Heroku and Ubuntu</a></li>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://mikemikina.com/blog/how-to-test-controllers-by-mocking-dependencies-in-vapor-3-and-swift/">How
to test controllers by mocking dependencies in Vapor 3 and
Swift</a></li>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://mihaelamj.github.io/Vapor%20%203%20Tutorial/">Vapor 3
Tutorials</a> Big collection of small tutorials.</li>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://www.skelpo.com/blog/vapor2-to-vapor3/">Transforming from
Vapor 2 to Vapor 3</a> Transitioning from Vapor 2 to Vapor 3 with a
real world project.</li>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://medium.com/@martinlasek">Tutorials for Beginner to
Advanced</a> Written tutorials for Beginner to Advanced.</li>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://mikemikina.com/blog/using-the-dependency-injection-framework-for-testing-in-vapor-3-and-swift/">Using
the dependency injection framework for testing in Vapor 3 and Swift</a>
How to use dependency injection framework which will help you manage
dependencies and mock them inside your tests.</li>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://mikemikina.com/blog/watermarking-photos-with-imagemagick-vapor-3-and-swift-on-macos-and-linux/">Watermarking
photos with ImageMagick, Vapor 3 and Swift on macOS and Linux</a>
Tutorial on how to use the ImageMagick library in Swift.</li>
<li><img src="img/vapor-4.png" alt="v4" /> <a
href="https://theswiftdev.com/2019/08/26/whats-new-in-vapor-4/">Whats
new in Vapor 4?</a></li>
</ul>
<h3 id="books">Books</h3>
<ul>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://store.raywenderlich.com/products/server-side-swift-with-vapor">Server
Side Swift with Vapor</a></li>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://www.hackingwithswift.com/store/server-side-swift">Server-Side
Swift (Vapor Edition)</a></li>
</ul>
<h3 id="newsletters">Newsletters</h3>
<ul>
<li><a href="http://vapornation.news">VaporNation</a> Weekly Vapor
newsletter with all things Vapor.</li>
</ul>
<h3 id="videos">Videos</h3>
<ul>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://www.raywenderlich.com/4493-server-side-swift-with-vapor/lessons/1">Server
Side Swift with Vapor</a></li>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://www.youtube.com/channel/UCoLEXFUHIKXunm9QJjsAftw/videos">Vapor
- Beginner to Advanced</a></li>
</ul>
<h2 id="open-source-projects">Open-source Projects</h2>
<ul>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://github.com/brokenhandsio/SteamPress">SteamPress</a> A
Blogging Engine and Platform written in Swift for use with the Vapor
Framework.</li>
<li><img src="img/vapor-3.png" alt="v3" /> <a
href="https://github.com/skelpo/UserManager">User Manager Service</a>
A small, useful user manager made for production application
setups.</li>
</ul>
<h2 id="license">License</h2>
<p><a href="https://creativecommons.org/publicdomain/zero/1.0/"><img
src="https://mirrors.creativecommons.org/presskit/buttons/88x31/svg/cc-zero.svg"
alt="CC0" /></a></p>
<p>To the extent possible under law, <em>Milan Vit</em> has waived all
copyright and related or neighbouring rights to this work.</p>
<p><a href="https://github.com/vapor-community/awesome-vapor">vapor.md
Github</a></p>