FOSShowcase contains a number of applications that showcase the Open Source technologies developed by David Hunt of FOS Comoputer Services, LLC. It demonstrates how to use Swift to build an M-V-VM full-stack suite of applications:
- Vapor-based Backend Web Server deployed on AWS
- Ignite-based Web Front End
- iOS Application
- iPadOS Application
- macOS Application
- watchOS Application
- tvOS Application
- visionOS Application
- Skip-based Android Application
For guides, articles, and API documentation see the library's documentation on the Web or in Xcode.
Please note that these libraries are currently a work in progress. The APIs are rapidly evolving and while the overall architecture is set, breaking changes will occur until 1.0 is released. The documentation is evolving, but the 'Getting Started' guidance is incomplete. Nonetheless, the implementations are stable and unit tests are in place to ensure proper code coverage and stability of all publicly-facing APIs. This warning will remain in place until I feel that these limitations are remedied. Please log any issues that you might find or suggestions for improvements.
FOSShowcaseWebServer is the web service backend that supports the various front end applications.
For guides, articles, and API documentation see the library's documentation on the Web or in Xcode.
FOSShowcaseWebApp is an Ignite-based web application that presents an HTTP version of the application to the public at http://www.foscomputerservices.com.
FOSShowcaseiOSApp is a cross-platform SwiftUI-based application that runs on:
The public web service (Vapor backend + Leaf web app, behind nginx) runs as a Docker Compose stack on a small private Linux VM. The repo is the source of truth and the VM is disposable: rebuilding from the repo is the recovery path.
Where the VM is, how it is reached, how it was built, and the network rules
around it are not in this repository. They live in the private ops repo
(openclaw-config: docs/fos-showcase/runbook-pi-to-vm.md and
deploy/fos-showcase/).
Run from a machine that has the canonical secrets at ~/.foscs/fosshowcase/
(.env, ssl/, and deploy.env naming the VM):
git commit ... # commit your change first
./deploy/deploy.shdeploy/deploy.sh rsyncs the repo to the VM, delivers .env + ssl/
(mode 600), builds the three images one at a time (the VM is small), and runs
docker compose up -d.
Notes:
- A deploy rebuilds both Swift apps (the Dockerfiles
COPYthe whole repo, so any change invalidates the build cache); expect 30+ minutes. - Secrets, TLS certs and the VM address are not in git.
deploy/env.exampledocuments the required application variables;deploy.envholdsVM_HOSTand optionallyJUMP_HOST/VM_PATH.
This project is maintained by David Hunt owner of FOS Computer Services, LLC.
FOSShowcase is under the Apache License. See the LICENSE file for more information.