Skip to content

Builds on coenttb/swift-web with additional features and integrations for Vapor and other frameworks.

License

Notifications You must be signed in to change notification settings

coenttb/coenttb-web

Repository files navigation

coenttb-web

coenttb-web builds on coenttb/swift-web with additional features and integrations for Vapor and other frameworks.

Development Status

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.

Key Features

  • 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.

Project Structure

The project is organized into multiple modules for clarity and modularity:

Sources

  • 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

Installation

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")
]

Example

Refer to coenttb/coenttb-com-server for an example of how to use coenttb-web.

Related projects

The coenttb stack

PointFree foundations

Feedback is much appreciated!

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.

Subscribe to my newsletter

Follow me on X

Link on Linkedin

License

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.

Commercial Licensing

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].

PointFree

Included files that are indicated to be created by PointFree are licensed by PointFree under the MIT License. See POINTFREE MIT LICENSE for details.

About

Builds on coenttb/swift-web with additional features and integrations for Vapor and other frameworks.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published

Languages