awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
vapor avatar

vapor/vapor

0
View on GitHub↗
26,138 stars·1,515 forks·Swift·MIT·19 viewsvapor.codes↗

Vapor

Vapor is a comprehensive server-side web framework designed for building scalable, high-performance applications and APIs in Swift. It provides a non-blocking, event-loop-based runtime that manages concurrent task processing, background job queues, and asynchronous request handling. The framework is built around a dependency injection container that manages the lifecycle and resolution of services, configurations, and database connections throughout the request pipeline.

The framework distinguishes itself through a protocol-oriented design that emphasizes type safety across all layers of the application. It includes a robust object-relational mapper that abstracts database interactions, allowing developers to define data models and execute complex queries using a chainable, type-safe interface. This is complemented by a modular middleware chain for intercepting requests and a built-in templating engine for server-side HTML rendering.

Beyond core routing and request handling, the project offers an extensive suite of tools for modern web development. This includes comprehensive support for authentication via sessions and industry-standard tokens, real-time bidirectional communication through WebSockets, and automated schema-based database migrations. The framework also provides built-in validation logic, cryptographic utilities, and tools for managing application lifecycles and background processing.

The project is distributed as a Swift package, with documentation and tooling that support standard testing frameworks and containerized deployment workflows.

Features

  • Web Frameworks - Provides a high-performance, type-safe environment for building scalable web applications and APIs.
  • Data Modeling Frameworks - Define data models by conforming to a protocol and using property wrappers to map class properties to database table fields and unique identifiers.
  • Query Builders - Implements a fluent query builder for database record manipulation.
  • Runtime Environments - Manages event loops and concurrent task processing for high-performance, non-blocking applications.
  • Authentication Strategies - Implements secure user identity management, password hashing, and token-based authentication protocols.
  • Route Protection - Guards routes by requiring authentication and enforcing access policies via middleware.
  • Event Loop Runtimes - Executes asynchronous tasks on a non-blocking event loop to handle high-concurrency network requests efficiently.
  • Route Registration - Registers HTTP route handlers using flexible URI patterns including parameters and wildcards.
  • Database ORMs - Manages complex data models and relational schemas with type-safe queries and transactions.
  • Object-Relational Mapping Models - Store model data using typed fields, supporting optional values and custom database keys for mapping properties to storage columns.
  • Authentication Frameworks - Implements robust identity verification using JWT and session-based authentication.
  • JWT Authentication - Authenticates requests by verifying signed JSON Web Tokens for secure communication.
  • Dependency Injection Containers - Manages the lifecycle and resolution of application services and database connections throughout the request pipeline.
  • HTML Rendering - Renders HTML templates within route handlers for web requests.
  • Database Connection Managers - Configure database connections by adding driver dependencies and registering the database instance within the application configuration lifecycle.
  • Database Migrations - Registers and executes ordered database schema migrations.
  • Database Query Joins - Combine data from multiple tables by joining models, including support for aliasing models to join the same table multiple times in one query.
  • Database Relationship Mappings - Establish relationships between models using property wrappers to define parent-child associations and perform eager loading to efficiently fetch related data.
  • Object-Relational Mappers - Provides a database abstraction layer for mapping code objects to records and managing complex data relationships.
  • Object-Relational Mapping Utilities - Preload model relations during database queries to access related data synchronously, including support for nested loading of relations on related models.
  • JWT Claim Validation - Verifies standard claims like expiration and issuer to ensure token integrity.
  • Password Verification - Hashes and verifies passwords using non-blocking methods to maintain application responsiveness.
  • Asynchronous Programming Patterns - Provides reference types for chaining and transforming asynchronous results without blocking execution threads.
  • Request Validation - Validates incoming request data with type-safe error reporting for all failures.
  • Testing Frameworks - Supports modern testing frameworks for verifying routes and database interactions.
  • Dynamic Template Rendering - Renders dynamic HTML by evaluating templates at runtime.
  • HTTP Servers - Allows replacing the default server with custom implementations conforming to the server protocol.
  • Middleware Chains - Processes incoming requests and outgoing responses through a series of modular, type-safe interceptors.
  • Request Parsing - Automatically decodes incoming HTTP request bodies into structured data types.
  • Route Organization - Organizes route handlers into modular, reusable collections.
  • Web Servers - Provides an elegant, cross-platform web framework.
  • Server Side Swift - Elegant web framework.
  • Web Frameworks - Facilitates development with the Swift web framework.
  • Document Database Modeling - Model data for document-based storage using custom identifiers, nested structures, and flexible document fields while maintaining the standard database-agnostic interface.
  • Object Relational Mappings - Create a one-to-many relationship between models by referencing a parent relation, allowing for automatic management of foreign keys when creating new child records.
  • Schema Migration Utilities - Define table fields with specific data types and constraints, including primary identifiers, required values, and custom SQL-level column constraints for database schema migrations.
  • Transaction Management - Execute multiple database operations within a single transaction block to ensure data consistency, automatically rolling back all changes if any operation within the block fails.
  • Environment Configuration - Enables runtime switching between development, production, and testing environments.
  • Background Job Queues - Manages asynchronous task processing through registered drivers and worker processes.
  • Containerization - Provides containerization support for consistent multi-service deployment.
  • WebSocket Servers - Enables low-latency, bidirectional data exchange between clients and servers.
  • Bearer Token Authentication - Supports stateless API authentication using Bearer tokens.
  • Validation Schemas - Defines validation rules for request content and query parameters using type-safe protocols.
  • Error Handling - Maps custom error types to specific HTTP status codes and response formats.
  • Global Error Handlers - Provides global error handling to convert exceptions into structured HTTP responses.
  • HTTP Request Clients - Provides a unified interface for performing outbound HTTP requests with full header and content support.
  • HTTP Server Configuration - Configures HTTP server settings including connection backlog, compression, and TLS security settings.
  • Route Grouping - Organizes related API routes into nested groups with shared path prefixes and middleware.
  • Template Data Binding - Passes structured data to templates using standard encoding protocols.
  • Template Engines - Configures server-side templating engines for view rendering.
  • Database Schema Management - Manage database table or collection lifecycles by creating, updating, or deleting schemas, including support for ignoring existing tables during creation to prevent errors.
  • Foreign Key Constraints - Define a parent-child relationship between models by storing a reference to another model's identifier, supporting both required and optional parent associations.
  • Query Aggregates - Calculates aggregates like counts and sums directly within database queries.
  • Query Filtering - Constrain query results using value comparisons, field-to-field comparisons, subset membership checks, or string pattern matching to filter data precisely.
  • Redis Clients - Provides configurable connection pooling and authentication for Redis database instances.
  • Schema Mapping Utilities - Define a model schema by specifying the database table or collection name as a static property on the model class.
  • Session Management - Supports configurable storage drivers for persisting session data across instances.
  • Background Job Processing - Offloads time-consuming tasks to background workers to ensure responsive application performance.
  • Reverse Proxies - Configures reverse proxies for TLS termination and performance optimization.
  • Systemd Services - Defines systemd service files for production process management.
  • WebSockets - Supports bidirectional real-time data exchange over established WebSocket connections.
  • Cryptographic Primitives - Performs standard cryptographic operations including hashing and message authentication using native APIs.
  • External Identity Provider Integration - Verifies identity tokens from major providers like Apple, Google, and Microsoft.
  • Session Management - Persists user authentication across requests using session identifiers stored in cookies.
  • Event Logging - Provides request-aware logging for tracking application events.
  • Logging Frameworks - Enables custom logging system initialization and handler registration during application startup.
  • Custom Middleware Development - Implements custom middleware by conforming to specific protocols to inspect or modify requests.
  • Query Parameter Parsers - Parses URL query parameters into structured types for efficient access.
  • Session Management - Configures session middleware and cookie settings to manage user state across HTTP requests.
  • Template Logic - Provides conditional logic and loops for dynamic template layouts.
  • Database Drivers - Execute raw SQL queries or access database-specific features by casting the database connection to a generic SQL interface or a specific driver implementation.
  • Database Lifecycle Hooks - Hook into model lifecycle events such as creation, updates, or deletions to execute custom logic before or after database operations.
  • Database Schema Constraints - Enforces data integrity through multi-field schema constraints.
  • Many-to-Many Associations - Establish a many-to-many relationship between models using a pivot model that contains references to both related entities, enabling complex data associations.
  • Model Identifier Strategies - Configure a unique identifier for a model using property wrappers, supporting default UUIDs or custom types and generation strategies.
  • Pagination - Provides automatic pagination for database queries with metadata support.
  • CLI Command Frameworks - Defines custom CLI commands with custom signatures, help text, and console interaction logic.
  • Configuration Management - Provides programmatic access to system environment variables for application configuration.
  • Dotenv Loaders - Automatically loads configuration variables from local files into the environment.
  • Task Scheduling - Enables scheduling of recurring tasks via dedicated worker processes.
  • Deployment Tools - Supports server startup via CLI with graceful shutdown handling.
  • Edge Computing - Enables deployment to global edge computing platforms.
  • Process Management - Manages application processes with automatic restart and environment handling.
  • Basic Authentication - Authenticates requests by verifying credentials against the standard Basic authorization header.
  • CORS Policies - Configures and applies cross-origin resource sharing policies to allow secure resource requests from different domains.
  • JWT Cryptographic Algorithms - Supports multiple cryptographic algorithms including HMAC, RSA, and ECDSA for token security.
  • Password Hashing Strategies - Configures secure password hashing strategies like Bcrypt for credential storage.
  • Application Lifecycle Management - Provides hooks to execute custom logic during application boot and shutdown events.
  • Validation Libraries - Provides a library of built-in validators for common data types like emails and URLs.
  • Distributed Tracing - Automatically generates annotated spans for incoming requests via middleware.
  • Content Negotiation Utilities - Automatically serializes and deserializes request and response bodies between structured objects and various media formats.
  • HTTP Clients - Provides a configurable interface for managing outbound HTTP client behavior.
  • HTTP Error Handling - Aborts HTTP requests by throwing errors to return specific status codes to clients.
  • Middleware Configuration - Registers middleware globally or for specific route groups to intercept and process requests in a defined order.
  • Request Handling - Enables inspection of HTTP headers for authentication and metadata verification.

Star history

Star history chart for vapor/vaporStar history chart for vapor/vapor

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Vapor

Similar open-source projects, ranked by how many features they share with Vapor.
  • dotnet/efcoredotnet avatar

    dotnet/efcore

    14,587View on GitHub↗

    Entity Framework Core is an object-relational mapper that enables developers to interact with database systems using strongly-typed code. It serves as a comprehensive data access framework, providing a unified interface for mapping application objects to relational and non-relational database schemas while managing the lifecycle of data operations through a central context. The project distinguishes itself through a provider-based architecture that decouples core data access logic from specific database engines, allowing for consistent interaction across diverse storage systems. It features a

    C#aspnet-productc-sharpdatabase
    View on GitHub↗14,587
  • typeorm/typeormtypeorm avatar

    typeorm/typeorm

    36,540View on GitHub↗

    TypeORM is an object-relational mapper for TypeScript and JavaScript that bridges the gap between object-oriented application code and relational database tables. It provides a comprehensive data persistence layer that allows developers to define database entities using class decorators or configuration objects, enabling seamless interaction with data through object-oriented patterns. The project distinguishes itself through a flexible architecture that supports both the data mapper and repository patterns, alongside a fluent query builder that translates high-level method calls into platform

    TypeScriptactive-recordcockroachdbdata-mapper
    View on GitHub↗36,540
  • diesel-rs/dieseldiesel-rs avatar

    diesel-rs/diesel

    14,021View on GitHub↗

    This project is a type-safe database toolkit and object-relational mapper designed to enforce structural consistency between database schemas and application code. By leveraging compile-time validation, it ensures that SQL queries and data structures remain synchronized, preventing common errors before the application executes. It provides a comprehensive framework for relational data modeling, allowing developers to define table associations and map database results directly into strongly-typed language objects. The library distinguishes itself through its focus on compile-time safety and au

    Rustmysqlormpostgresql
    View on GitHub↗14,021
  • geektutu/7days-golanggeektutu avatar

    geektutu/7days-golang

    16,812View on GitHub↗

    This project is an educational framework designed to teach the fundamentals of building core distributed systems and web services from scratch in Go. It provides a collection of modular implementations that demonstrate how to construct essential infrastructure components, including web servers, remote procedure call systems, distributed caches, and database abstraction layers. The framework distinguishes itself by focusing on the internal mechanics of these systems rather than providing a high-level abstraction for production use. It covers the implementation of complex architectural patterns

    Gogolanglearningscratch
    View on GitHub↗16,812
See all 30 alternatives to Vapor→

Frequently asked questions

What does vapor/vapor do?

Vapor is a comprehensive server-side web framework designed for building scalable, high-performance applications and APIs in Swift. It provides a non-blocking, event-loop-based runtime that manages concurrent task processing, background job queues, and asynchronous request handling. The framework is built around a dependency injection container that manages the lifecycle and resolution of services, configurations, and database connections throughout the request pipeline.

What are the main features of vapor/vapor?

The main features of vapor/vapor are: Web Frameworks, Data Modeling Frameworks, Query Builders, Runtime Environments, Authentication Strategies, Route Protection, Event Loop Runtimes, Route Registration.

What are some open-source alternatives to vapor/vapor?

Open-source alternatives to vapor/vapor include: dotnet/efcore — Entity Framework Core is an object-relational mapper that enables developers to interact with database systems using… typeorm/typeorm — TypeORM is an object-relational mapper for TypeScript and JavaScript that bridges the gap between object-oriented… diesel-rs/diesel — This project is a type-safe database toolkit and object-relational mapper designed to enforce structural consistency… geektutu/7days-golang — This project is an educational framework designed to teach the fundamentals of building core distributed systems and… jeremyevans/sequel — Sequel is a relational database toolkit for Ruby that provides object-relational mapping, a fluent SQL query builder,… seaql/sea-orm — Sea-ORM is an asynchronous SQL object-relational mapper and database toolkit for mapping relational tables to strongly…