coenttb-web
builds on coenttb/swift-web with additional features and integrations for Vapor and other frameworks.
This package is currently in active development and is subject to frequent changes. Features and APIs may change without prior notice until a stable release is available.
- Built entirely in Swift: Leverages the power of Swift and Vapor to deliver backend capabilities without JavaScript dependencies.
- Functional Elegance: Clean and testable architecture inspired by PointFree's best practices.
- Hypermodular: Highly modular design, allowing for reusable components that are easy to test, maintain, and integrate.
- Third Party Integrations: Support for third-party services such as Stripe, Mailgun, Hotjar, Google Analytics, and Postgres.
The project is organized into multiple modules for clarity and modularity:
CoenttbEnvVars
: Handles environment variables and configurations.CoenttbServerRouter
: Manages server routing logic.CoenttbVapor
: Extending Vapor with commonly used functionality.CoenttbWebAccount
&CoenttbWebAccountLive
: Account management.CoenttbWebBlog
: Blog functionality.CoenttbWebDatabase
: Database interactions.CoenttbWebDependencies
: Handles Dependencies.CoenttbWebHTML
: Builds on coenttb-html and adds functionality for building websites.CoenttbWebLegal
: Common website legal documents.CoenttbWebModels
: Common models and data structures.CoenttbWebNewsletter
: Newsletter service.CoenttbWebStripe
&CoenttbWebStripeLive
: Stripe payment integration.CoenttbWebTranslations
: Builds on swift-languages. Internationalization and localization specific to website development.CoenttbWebUtils
: Builds on coenttb-utils with functionality specific to web development.- Third-Party Integrations:
GitHub
GoogleAnalytics
Hotjar
Mailgun
Postgres
You can add coenttb-web
to an Xcode project by including it as a package dependency:
Repository URL: https://github.com/coenttb/coenttb-web
For a Swift Package Manager project, add the dependency in your Package.swift file:
dependencies: [
.package(url: "https://github.com/coenttb/coenttb-web", branch: "main")
]
Refer to coenttb/coenttb-com-server for an example of how to use coenttb-web.
- swift-css: A Swift DSL for type-safe CSS.
- swift-html: A Swift DSL for type-safe HTML & CSS, integrating swift-css and pointfree-html.
- swift-web: Foundational tools for web development in Swift.
- coenttb-html: Builds on swift-html, and adds functionality for HTML, Markdown, Email, and printing HTML to PDF.
- coenttb-web: Builds on swift-web, and adds functionality for web development.
- coenttb-server: Build fast, modern, and safe servers that are a joy to write.
coenttb-server
builds on coenttb-web, and adds functionality for server development. - coenttb-vapor:
coenttb-server-vapor
builds on coenttb-server, and adds functionality and integrations with Vapor and Fluent. - coenttb-com-server: The backend server for coenttb.com, written entirely in Swift and powered by coenttb-server-vapor.
- coenttb/pointfree-html: A Swift DSL for type-safe HTML, forked from pointfreeco/swift-html and updated to the version on pointfreeco/pointfreeco.
- coenttb/pointfree-web: Foundational tools for web development in Swift, forked from pointfreeco/swift-web.
- coenttb/pointfree-server: Foundational tools for server development in Swift, forked from pointfreeco/swift-web.
If you’re working on your own Swift project, feel free to learn, fork, and contribute.
Got thoughts? Found something you love? Something you hate? Let me know! Your feedback helps make this project better for everyone. Open an issue or start a discussion—I’m all ears.
This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).
You are free to use, modify, and distribute this project under the terms of the AGPL-3.0.
For full details, please refer to the LICENSE file.
A Commercial License is available for organizations or individuals who wish to use this project without adhering to the terms of the AGPL-3.0 (e.g., to use it in proprietary software or SaaS products).
For inquiries about commercial licensing, please contact [email protected].
Included files that are indicated to be created by PointFree are licensed by PointFree under the MIT License. See POINTFREE MIT LICENSE for details.