update
This commit is contained in:
295
html/vapor.md2.html
Normal file
295
html/vapor.md2.html
Normal file
@@ -0,0 +1,295 @@
|
||||
<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 Vapor’s
|
||||
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 you’re 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 & 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/">What’s
|
||||
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>
|
||||
Reference in New Issue
Block a user