GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - apigy/selfstarter: Roll your own crowdfunding

BranchesTags
Open more actions menu

Latest commit

 

History

126 Commits
126 Commits

Folders and files

NameName
Last commit message
Last commit date
app
app
 
 
config
config
 
 
db
db
 
 
doc
doc
 
 
lib
lib
 
 
log
log
 
 
public
public
 
 
script
script
 
 
spec
spec
 
 
vendor
vendor
 
 
.gitignore
.gitignore
 
 
.rspec
.rspec
 
 
Gemfile
Gemfile
 
 
Gemfile.lock
Gemfile.lock
 
 
LICENSE
LICENSE
 
 
Procfile
Procfile
 
 
README.md
README.md
 
 
Rakefile
Rakefile
 
 
config.ru
config.ru
 
 

Repository files navigation

Selfstarter

Selfstarter makes it easy to roll your own crowdfunding site. To get started, fork this repository and change around config/settings.yml to suit your needs.

See it in action

Background

After a rejection from Kickstarter, we decided to follow in the footsteps of App.net and make our own crowdfunding site for Lockitron. We've been absolutely blown away by the response. As a first step in what will hopefully be a long history of giving back, we have decided to open source the crowdfunding platform that got us here. Please send questions, comments, or concerns to [email protected]!

Selfstarter is a starting point. We made some specific choices with Selfstarter for Lockitron and we recommend you tailor it for your project:

  • We use Amazon Payments for payments. You can use Stripe or WePay. We used Kickstarter's awesome amazon_flex_pay gem.
  • We collect multi-use tokens from customers with Amazon Payments - this lets us collect payment information without charging the customer until we are ready to ship
  • Selfstarter doesn't come with any authentication, administration, mailers or analytics tools. We recommend adding a basic set of these so that you can message backers and manage orders.
  • There is a payment options component that allows you to define different packages or levels for people to puchase/support at. You can turn it on and off with a configuration setting.

Getting Started

Note: This assumes you have Ruby 1.9.2 or later installed properly and have a basic working knowledge of how to use RubyGems

First you'll need to fork and clone this repo

git clone https://github.com/lockitron/selfstarter.git

Let's get all our dependencies setup:

bundle install --without production

Now let's create the database:

rake db:migrate

If you're using the payment options component (use_payment_options = true in settings.yml) then need to seed some data for the options:

rake db:seed

Let's get it running:

rails s

Customizing

While it is just a skeleton, we did make it a little quicker to change around things like your product name, the colors, pricing, etc.

To change around the product name, tweet text, and more, open this file:

config/settings.yml

To change around the colors and fonts, open this file:

app/assets/stylesheets/variables.css.scss

To dive into the code, open this file:

app/controllers/preorder_controller.rb

Deploying to Production

We recommend using Heroku, and we even include a Procfile for you. All you need to do is first install the Heroku Toolbelt and then run:

heroku create
git push heroku master
heroku run rake db:migrate
heroku open

Contributing

In it's current state, Selfstarter is very skeletal. We welcome your pull requests. If you're looking to contribute, here are some good starting points.

Email Updates

Using Amazon FPS will send users a notification when they place an order, however, it's nice to notify people when they place an order.

Something that we built into Lockitron.com was "Remind Me" functionality. The idea behind this is that you can capture potential backers and notify them near the end of your campaign that they should reserve your product. We have no data on this yet, however, it seems to be part of why Kickstarter campaigns pick up a lot of steam in their final hours.

Reporting

There is no admin panel with Selfstarter. This could be useful when the project's funding time is over and you want to export your orders elsewhere.

Relatedly, some analytics would be nice. It'd be good to know how many reservations you receive over time, as well as the specifics of each order. Customers may have questions or might want to modify their order after they've placed it.

Alternate Payment Processors

Amazon Payments works great for us, but it may not work out for everyone. If you'd rather use Stripe, WePay, or any other payment processor, feel free to send out a pull request.

Tests

There aren't any tests yet. Tests are very welcome!

License

Selfstarter is licensed under the MIT License.

About

Roll your own crowdfunding

selfstarter.us

Resources

Readme
License
Activity
Custom properties

Stars

3.2k stars

Watchers

293 watching

Forks

1.6k forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.