Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/babybuddy/babybuddy-sandstorm
Baby Buddy Sandstorm App
https://github.com/babybuddy/babybuddy-sandstorm
baby baby-buddy sandstorm sandstorm-app
Last synced: about 2 months ago
JSON representation
Baby Buddy Sandstorm App
- Host: GitHub
- URL: https://github.com/babybuddy/babybuddy-sandstorm
- Owner: babybuddy
- License: bsd-2-clause
- Created: 2020-02-06T23:09:16.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2022-05-31T15:04:22.000Z (over 2 years ago)
- Last Synced: 2024-10-29T10:36:57.702Z (2 months ago)
- Topics: baby, baby-buddy, sandstorm, sandstorm-app
- Language: Shell
- Homepage: https://apps.sandstorm.io/app/7yu31zwuv5f0aeg0749hvtrfz92g5ccq4mf21nvmspxwjs61duwh
- Size: 445 KB
- Stars: 5
- Watchers: 3
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Baby Buddy Sandstorm App
This is the source for the [Baby Buddy](https://github.com/babybuddy/babybuddy)
app for [Sandstorm](https://sandstorm.io/).## App Version History
- v5: [Baby Buddy 1.11.0](https://github.com/babybuddy/babybuddy/releases/tag/v1.11.0)
- v4: [Baby Buddy 1.9.1](https://github.com/babybuddy/babybuddy/releases/tag/v1.9.1)
- v3: [Baby Buddy 1.5.0](https://github.com/babybuddy/babybuddy/releases/tag/v1.5.0)
- v2: [Baby Buddy 1.4.0](https://github.com/babybuddy/babybuddy/releases/tag/v1.4.0)
- v1: [Baby Buddy 1.3.4](https://github.com/babybuddy/babybuddy/releases/tag/v1.3.4)
- v0: [Baby Buddy 1.3.0](https://github.com/babybuddy/babybuddy/releases/tag/v1.3.0)## Caveats
- ~~Baby Buddy currently only supports setting the application time zone from
an environment variable. This cannot be achieved with the regular Sandstorm
grain workflow, so the timezone is locked to Etc/UTC.~~ (Resolved as of v2)- ~~Sandstorm user ID's are used for the username in Baby Buddy. This name is
used for display throughout the app and is not terribly useful.~~ (Resolved as
of v2)- Baby Buddy's API has not been fully implemented with Sandbox's API
integration.## Development
Primary development for the Baby Buddy application occurs at [Baby Buddy](https://github.com/babybuddy/babybuddy)
on GitHub. This repository is specifically for the Sandstorm app build process.### Sandstorm configuration
The primary files for the Sandstorm app configuration are:
- [`setup.sh`](.sandstorm/setup.sh): Installs nginx, uwsgi, pipenv, sqlite3 and
git.- [`build.sh`](.sandstorm/build.sh): Gets Baby Buddy application code from
GitHub, creates an `.env` file for the application with settings location and a
`SECRET_KEY`, checks out the version specified in [`sandstorm-pkgdef.capnp`](.sandstorm/sandstorm-pkgdef.capnp)
and establishes the virtual environment.- [`launcher.sh`](.sandstorm/launcher.sh): Prepares system directories, runs
application migrations, and starts uwsgi and nginx.### Updating Baby Buddy
Follow the steps below to update the version of Baby Buddy shipped with the
Sandstorm app:1. Clone this repository.
```shell
git clone [email protected]:babybuddy/babybuddy-sandstorm.git
```1. Move in to the repository.
```shell
cd babybuddy-sandstorm
```
1. Open the [`sandstorm-pkgdef.capnp`](.sandstorm/sandstorm-pkgdef.capnp) file
and set the "appMarketingVersion" directive to a new version of Baby Buddy and
increment the "appVersion" directive by one.```shell
editor .sandstorm/sandstorm-pkgdef.capnp
```1. Start the VM via Vagrant SPK.
```shell
vagrant-spk vm up
```
1. Run the Vagrant SPK dev instance.```shell
vagrant-spk dev
```
*Note: Confirm that [`sandstorm.patch`](sandstorm.patch) still applies
during this command execution and update the patch if necessary.*
1. Test new/modified functionality in the [Sandstorm dev environment](http://local.sandstorm.io:6080).```shell
browse http://local.sandstorm.io:6080
```1. When ready, stop the development app (Ctrl-C) and clean the files list.
```shell
./clean-sandstorm-files.sh
```
1. Pack the new SPK! :tada:```shell
vagrant-spk pack ~/babybuddy.spk
```
### Updating [`sandstorm.patch`](sandstorm.patch)If Sandstorm specific changes need to updated or the patch no longer applies, a
new patch will need to created:1. Follow the steps in the Development documentation above up to the
`vagrant-spk dev` command.1. Stop the development app (Ctrl-C).
1. Move in to the `babybuddy` folder.
```shell
cd babybuddy
```1. Apply the patch using 3way merge so conflicts will be created.
```shell
git apply --3way ../sandstorm.patch
```1. Resolve any conflicts and make additional changes as needed.
1. Add all files to git.```shell
git add --all
```
1. Create a diff of the changes and save it to [`sandstorm.patch`](sandstorm.patch).```shell
git diff HEAD > ../sandstorm.patch
```
1. Return to the main repository folder and start the vagrant dev instance.```shell
cd ..
vagrant-spk dev
```
If the patch update was successful, the new patch should apply cleanly during
the build phase.