mirror of
https://github.com/Growstuff/growstuff.git
synced 2026-10-31 19:29:26 -04:00
* Add Procfile.dev and update bin/dev for dev asset watchers - Create Procfile.dev to run web server and asset compilation watchers for JS (`yarn build:watch`) and CSS (`yarn build:css:watch`). - Add `foreman` gem to `:development` group in Gemfile. - Update `bin/dev` to run Procfile.dev using available process manager (overmind, hivemind, or foreman). - Fix `build:css:watch` script in package.json to pass `--watch` to Sass. - Update README.md to instruct running `bin/dev` in development. Co-authored-by: CloCkWeRX <365751+CloCkWeRX@users.noreply.github.com> * Add Procfile.dev and update bin/dev for dev asset watchers - Create Procfile.dev to run web server and asset compilation watchers for JS (`yarn build:watch`) and CSS (`yarn build:css:watch`). - Add `foreman` gem to `:development` group in Gemfile and Gemfile.lock. - Update `bin/dev` to run Procfile.dev using available process manager (overmind, hivemind, or foreman). - Fix `build:css:watch` script in package.json to pass `--watch` to Sass. - Update README.md to instruct running `bin/dev` in development. Co-authored-by: CloCkWeRX <365751+CloCkWeRX@users.noreply.github.com> * Apply suggestion from @CloCkWeRX * Apply suggestion from @CloCkWeRX * Add Procfile.dev and update bin/dev for dev asset watchers - Create Procfile.dev to run web server and asset compilation watchers for JS (`yarn build:watch`) and CSS (`yarn build:css:watch`). - Add `foreman` gem to `:development` group in Gemfile and Gemfile.lock. - Update `bin/dev` to run Procfile.dev using available process manager (overmind, hivemind, or foreman). - Fix `build:css:watch` script in package.json to pass `--watch` to Sass. - Update README.md to instruct running `bin/dev` in development. - Keep .ruby-version unchanged. Co-authored-by: CloCkWeRX <365751+CloCkWeRX@users.noreply.github.com> * Apply suggestion from @CloCkWeRX --------- Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com> Co-authored-by: Brenda Wallace <brenda@wallace.net.nz>
138 lines
5.0 KiB
Markdown
138 lines
5.0 KiB
Markdown
# 🌱 Growstuff
|
|
|
|

|
|
|
|
Welcome to the Growstuff project.
|
|
|
|
You can find our app at https://www.growstuff.org
|
|
|
|
Growstuff is an open source/open data project for food gardeners. We
|
|
crowdsource information on what our members are growing and harvesting,
|
|
aggregate it, and make it available as open data via our API.
|
|
|
|
Growstuff was founded in 2012 and has been built by dozens of
|
|
[contributors](CONTRIBUTORS.md). We are an inclusive, welcoming project, and
|
|
encourage participation from people of all backgrounds and skill levels.
|
|
|
|
## Want to contribute?
|
|
|
|
Don't ask to ask, the best way to get started is to fork the project, start a codespace and get hacking.
|
|
Dive on in and submit your PRs!
|
|
|
|
Vibe Coding is more than okay, just make sure you indicate if you have done so and ensure there are tests.
|
|
|
|
## Important links
|
|
|
|
* [Issues](https://github.com/orgs/Growstuff/projects/1) (features we're
|
|
working on, known bugs, etc)
|
|
* [Wiki](https://github.com/Growstuff/growstuff/wiki) (general documentation, etc.)
|
|
|
|
## For coders
|
|
|
|
Growstuff is built in Ruby on Rails and also uses JavaScript for
|
|
frontend features. We welcome contributions -- see
|
|
[CONTRIBUTING](CONTRIBUTING.md) for details.
|
|
|
|
* To set up your development environment, see [Getting started](https://github.com/Growstuff/growstuff/wiki/New-contributor-guide).
|
|
* You may also be interested in our [API](https://github.com/Growstuff/growstuff/wiki/API).
|
|
|
|
### Running Rails natively against Dockerized services
|
|
|
|
If you'd rather run `rails server` directly on your machine (instead of
|
|
inside the `web` container) while still using Docker for Postgres, here's the full setup:
|
|
|
|
1. **Get the pinned Ruby and Node versions.** [`mise.toml`](mise.toml) pins
|
|
both (matching `.ruby-version` and the Node 24 used in CI). If you use
|
|
[mise](https://mise.jdx.dev/), just run:
|
|
|
|
```bash
|
|
mise install
|
|
```
|
|
|
|
rbenv/asdf/nvm users can read the versions from `mise.toml` (or
|
|
`.ruby-version`) and install them the usual way instead.
|
|
|
|
2. **Start the backing services** (Postgres, skipping the
|
|
`web` container):
|
|
|
|
```bash
|
|
docker compose up -d db
|
|
```
|
|
|
|
3. **Make the `db` hostname resolve on your host machine.** `config/database.yml`
|
|
points at host `db`, which only exists inside the Compose network. Add
|
|
this line to `/etc/hosts` so both Docker and native runs work against the
|
|
same config:
|
|
|
|
```text
|
|
127.0.0.1 db
|
|
```
|
|
|
|
4. **Install gems:**
|
|
|
|
```bash
|
|
bundle install
|
|
```
|
|
|
|
5. **Set up your local config.** The app reads settings like
|
|
`GROWSTUFF_SITE_NAME` from a git-ignored `.env` file (via `dotenv-rails`).
|
|
Copy the example to get started:
|
|
|
|
```bash
|
|
cp env-example .env
|
|
```
|
|
|
|
6. **Install Yarn and JS dependencies.** Yarn isn't bundled with Node —
|
|
enable it via Node's built-in Corepack, then install:
|
|
|
|
```bash
|
|
corepack enable
|
|
yarn install
|
|
```
|
|
|
|
7. **Create and load the database:**
|
|
|
|
```bash
|
|
bundle exec rails db:create db:schema:load
|
|
```
|
|
|
|
8. **Start the app:**
|
|
|
|
```bash
|
|
bin/dev
|
|
```
|
|
|
|
`bin/dev` uses `Procfile.dev` (via Foreman, Overmind, or Hivemind) to run the Rails server together with asset compilation watchers (`yarn build:watch` and `yarn build:css:watch`). Assets are automatically compiled on changes, so manually precompiling assets (`rails assets:precompile`) is not required in development.
|
|
|
|
### For Home Automation enthusiasts
|
|
|
|
https://github.com/Growstuff/homeassistant-growstuff/
|
|
|
|
## For designers, writers, researchers, data wranglers, and other contributors
|
|
|
|
There are heaps of ways to get involved and contribute no matter what
|
|
your skills and interests.
|
|
|
|
You might like to check out:
|
|
|
|
* The [New Contributor Guide](https://github.com/Growstuff/growstuff/wiki/New-contributor-guide)
|
|
page on our wiki, which has lots of detail for different areas
|
|
|
|
Here on Github, you might find these useful:
|
|
|
|
* [Github Project Board](https://github.com/orgs/Growstuff/projects/1) has stories in "ready" that can be worked on.
|
|
* [needs: design](https://github.com/Growstuff/growstuff/labels/needs:%20design) - tasks requiring high-level design
|
|
* [needs: visual design](https://github.com/Growstuff/growstuff/labels/needs:%20visual+design) - tasks requiring visual/graphical design
|
|
* [needs: documentation](https://github.com/Growstuff/growstuff/labels/needs:%20documentation)
|
|
* [needs: data](https://github.com/Growstuff/growstuff/labels/needs:%20data) - tasks requiring data entry, data design, data import, or similar
|
|
* [curated:beginner](https://github.com/Growstuff/growstuff/labels/curated:%20beginner) - tasks that are ideal for beginner programmers or people new to the project
|
|
|
|
Feel free to comment on any of the issues on [Github](https://github.com/Growstuff/growstuff/issues).
|
|
|
|
## Contact
|
|
|
|
For more information about this project, contact [info@growstuff.org](mailto:info@growstuff.org).
|
|
|
|
Security Issues: If you find an authorization bypass or data breach, please contact our maintainers directly at [maintainers@growstuff.org](mailto:maintainers@growstuff.org).
|
|
|