Skip to content

TechforgoodCAST/beehive-giving

Repository files navigation

Beehive Giving

PLEASE NOTE: Beehive was retired in September 2020 and replaced by site (https://techforgoodcast.github.io/beehive-giving/) showcasing an analysis of the proposals submitted to Beehive, as well as some background information about the project and key learnings. The source for this site can be found in the gh_pages branch and the master branch contains the last version of the tool (before retirement) for archive purposes.

Beehive is a free and open source funding suitability checking tool maintained by CAST. It uses a funder’s guidelines, priorities and open data to produce a report that helps fund seekers decide where to apply.

The tool has been developed with charitable grant funding in mind, but has the scope to work for other types of opportunities that non-profits may apply for with minimal changes.

Getting started

These instructions will get a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

Ruby v2.5.3, Bundler, PostgreSQL, NodeJS, Yarn, and a Stripe account if you'd like to process payments.

Local setup

  1. git clone https://github.com/TechforgoodCAST/beehive-giving.git
  2. cd beehive-giving
  3. bundle install
  4. yarn install
  5. rails db:setup
  6. Create .env file with the appropriate configuration:
    STRIPE_SECRET_KEY=<your test secret key from Stripe>
    STRIPE_PUBLISHABLE_KEY=<your test publishable key from Stripe>
    STRIPE_FEE_OPPORTUNITY_SEEKER=<card processing fee in pence e.g. 80>
    STRIPE_AMOUNT_OPPORTUNITY_SEEKER=<private report cost in pence e.g. 1999>
    <!-- Optional -->
    HASHIDS_SALT=<a secret key for encoding Hashids>
  7. rails s to start local development server

Running tests

  • bundle exec spring rspec to run Ruby unit and end-to-end tests.
  • yarn test to run JavaScript unit tests.

Administration

This project uses Active Admin to provide a simple administration interface for managing records in the database. Visit the /admin path with the server running to make use of it, and see Active Admin's documentation for more details.

Deployment

Deploy

Contributing

First of all, thank you for your help!

Be sure to check out the projects open issues to see where help is needed - those labeled good first issue can be a good place to start.

Bugs

If you've spotted a bug please file an issue and apply the bug label. Even better, submit a pull request (details below) with a patch.

Pull requests

If you want a feature added the best way to get it done is to submit a pull request that implements it...

  1. Fork the repo
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Implement your changes
  4. Commit your changes (git commit -am 'Add some feature')
  5. Push to GitHub (git push origin my-new-feature)
  6. Create a pull request into the develop branch

Alternatively you can submit an issue describing the feature.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Authors

See also the list of contributors who participated in this project.

License

This project is released under the MIT License - see the LICENSE.md for details.