https://github.com/red-gate/spawn-demo
Demo application to show how Spawn can be integrated in Development and CI
https://github.com/red-gate/spawn-demo
Last synced: 5 months ago
JSON representation
Demo application to show how Spawn can be integrated in Development and CI
- Host: GitHub
- URL: https://github.com/red-gate/spawn-demo
- Owner: red-gate
- License: apache-2.0
- Created: 2021-02-08T15:30:19.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2023-07-28T09:28:09.000Z (over 1 year ago)
- Last Synced: 2024-08-03T22:17:41.201Z (8 months ago)
- Language: C#
- Homepage:
- Size: 470 KB
- Stars: 14
- Watchers: 19
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- jimsghstars - red-gate/spawn-demo - Demo application to show how Spawn can be integrated in Development and CI (C# #)
README
# Spawn demo app
This app showcases a semi complex application that takes advantage of [Spawn](https://spawn.cc/) to simplify development.
## Architecture
The application is a simple "Todo" application. It's architecture is as follows:
* C# ASP.NET Core WebAPI
* ReactJS Frontend
* Microsoft SQL Server database (for "account" information)
* PostgreSQL database (for "todo" item information)
## Running in Gitpod
Click the badge below to open this repository in Gitpod with all of the dependencies installed and ready to go.
[](https://gitpod.io/#https://github.com/red-gate/spawn-demo)
## Running this locally
To get up and running with this application, perform the following:
1) Clone the repository
2) Open it up in VS Code
3) Hit F5This will:
* Provision two [Spawn data containers](https://spawn.cc/docs/concepts-data-container). One for the Todo database and another for the Account database.
* Start the API server with the configuration returned from Spawn to connect to the databases.
* Start the FrontendNOTE: Running the application this way assumes that the spawn data images already exist. If they do not, you must create them.
The spawn data image names are configured in the [.env](.env) file. You can change these if necessary.
### Subsequent restarts
Subsequent restarts (F5) will **reuse the spawn data containers**. That means any modification to the database between restarts calls will **persist**.
If you want to get _fresh_ containers, [then you can delete the Spawn data containers](https://spawn.cc/docs/spawnctl-dc-delete) and the startup script will reprovision them.