forked from apigy/selfstarter
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
275e4d8
commit 4b169b0
Showing
114 changed files
with
2,274 additions
and
18 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,16 +1,19 @@ | ||
*.rbc | ||
*.sassc | ||
.sass-cache | ||
capybara-*.html | ||
.rspec | ||
# See http://help.github.com/ignore-files/ for more about ignoring files. | ||
# | ||
# If you find yourself ignoring temporary files generated by your text editor | ||
# or operating system, you probably want to add a global ignore instead: | ||
# git config --global core.excludesfile ~/.gitignore_global | ||
|
||
# Ignore bundler config | ||
/.bundle | ||
/vendor/bundle | ||
/log/* | ||
/tmp/* | ||
|
||
# Ignore the default SQLite database. | ||
/db/*.sqlite3 | ||
/public/system/* | ||
/coverage/ | ||
/spec/tmp/* | ||
**.orig | ||
rerun.txt | ||
pickle-email-*.html | ||
|
||
# Ignore all logfiles and tempfiles. | ||
/log/*.log | ||
/tmp | ||
|
||
config/settings.local.yml | ||
config/settings/*.local.yml | ||
config/environments/*.local.yml |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
source 'https://rubygems.org' | ||
|
||
gem 'rails', '3.2.8' | ||
|
||
group :development do | ||
gem 'sqlite3' | ||
end | ||
|
||
group :production do | ||
gem 'thin' | ||
gem 'pg' | ||
end | ||
|
||
# Gems used only for assets and not required | ||
# in production environments by default. | ||
group :assets do | ||
gem 'sass-rails', '~> 3.2.3' | ||
gem 'coffee-rails', '~> 3.2.1' | ||
gem 'therubyracer', :platforms => :ruby | ||
gem 'uglifier', '>= 1.0.3' | ||
end | ||
|
||
# jQuery | ||
gem 'jquery-rails' | ||
|
||
# Kickstarter's awesome Amazon Flexible Payments gem | ||
gem 'amazon_flex_pay' | ||
|
||
# Configuration File | ||
gem 'rails_config' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,138 @@ | ||
GEM | ||
remote: https://rubygems.org/ | ||
specs: | ||
actionmailer (3.2.8) | ||
actionpack (= 3.2.8) | ||
mail (~> 2.4.4) | ||
actionpack (3.2.8) | ||
activemodel (= 3.2.8) | ||
activesupport (= 3.2.8) | ||
builder (~> 3.0.0) | ||
erubis (~> 2.7.0) | ||
journey (~> 1.0.4) | ||
rack (~> 1.4.0) | ||
rack-cache (~> 1.2) | ||
rack-test (~> 0.6.1) | ||
sprockets (~> 2.1.3) | ||
activemodel (3.2.8) | ||
activesupport (= 3.2.8) | ||
builder (~> 3.0.0) | ||
activerecord (3.2.8) | ||
activemodel (= 3.2.8) | ||
activesupport (= 3.2.8) | ||
arel (~> 3.0.2) | ||
tzinfo (~> 0.3.29) | ||
activeresource (3.2.8) | ||
activemodel (= 3.2.8) | ||
activesupport (= 3.2.8) | ||
activesupport (3.2.8) | ||
i18n (~> 0.6) | ||
multi_json (~> 1.0) | ||
amazon_flex_pay (0.9.13) | ||
activesupport (>= 3.0.14) | ||
multi_xml (~> 0.2.0) | ||
rest-client (~> 1.6.1) | ||
arel (3.0.2) | ||
builder (3.0.3) | ||
coffee-rails (3.2.2) | ||
coffee-script (>= 2.2.0) | ||
railties (~> 3.2.0) | ||
coffee-script (2.2.0) | ||
coffee-script-source | ||
execjs | ||
coffee-script-source (1.3.3) | ||
daemons (1.1.9) | ||
erubis (2.7.0) | ||
eventmachine (1.0.0) | ||
execjs (1.4.0) | ||
multi_json (~> 1.0) | ||
foreman (0.60.2) | ||
thor (>= 0.13.6) | ||
hike (1.2.1) | ||
i18n (0.6.1) | ||
journey (1.0.4) | ||
jquery-rails (2.1.3) | ||
railties (>= 3.1.0, < 5.0) | ||
thor (~> 0.14) | ||
json (1.7.5) | ||
libv8 (3.3.10.4) | ||
mail (2.4.4) | ||
i18n (>= 0.4.0) | ||
mime-types (~> 1.16) | ||
treetop (~> 1.4.8) | ||
mime-types (1.19) | ||
multi_json (1.3.6) | ||
multi_xml (0.2.2) | ||
pg (0.14.1) | ||
polyglot (0.3.3) | ||
rack (1.4.1) | ||
rack-cache (1.2) | ||
rack (>= 0.4) | ||
rack-ssl (1.3.2) | ||
rack | ||
rack-test (0.6.2) | ||
rack (>= 1.0) | ||
rails (3.2.8) | ||
actionmailer (= 3.2.8) | ||
actionpack (= 3.2.8) | ||
activerecord (= 3.2.8) | ||
activeresource (= 3.2.8) | ||
activesupport (= 3.2.8) | ||
bundler (~> 1.0) | ||
railties (= 3.2.8) | ||
rails_config (0.3.1) | ||
activesupport (>= 3.0) | ||
railties (3.2.8) | ||
actionpack (= 3.2.8) | ||
activesupport (= 3.2.8) | ||
rack-ssl (~> 1.3.2) | ||
rake (>= 0.8.7) | ||
rdoc (~> 3.4) | ||
thor (>= 0.14.6, < 2.0) | ||
rake (0.9.2.2) | ||
rdoc (3.12) | ||
json (~> 1.4) | ||
rest-client (1.6.7) | ||
mime-types (>= 1.16) | ||
sass (3.2.1) | ||
sass-rails (3.2.5) | ||
railties (~> 3.2.0) | ||
sass (>= 3.1.10) | ||
tilt (~> 1.3) | ||
sprockets (2.1.3) | ||
hike (~> 1.2) | ||
rack (~> 1.0) | ||
tilt (~> 1.1, != 1.3.0) | ||
sqlite3 (1.3.6) | ||
therubyracer (0.10.2) | ||
libv8 (~> 3.3.10) | ||
thin (1.5.0) | ||
daemons (>= 1.0.9) | ||
eventmachine (>= 0.12.6) | ||
rack (>= 1.0.0) | ||
thor (0.16.0) | ||
tilt (1.3.3) | ||
treetop (1.4.10) | ||
polyglot | ||
polyglot (>= 0.3.1) | ||
tzinfo (0.3.33) | ||
uglifier (1.3.0) | ||
execjs (>= 0.3.0) | ||
multi_json (~> 1.0, >= 1.0.2) | ||
|
||
PLATFORMS | ||
ruby | ||
|
||
DEPENDENCIES | ||
amazon_flex_pay | ||
coffee-rails (~> 3.2.1) | ||
foreman | ||
jquery-rails | ||
pg | ||
rails (= 3.2.8) | ||
rails_config | ||
sass-rails (~> 3.2.3) | ||
sqlite3 | ||
therubyracer | ||
thin | ||
uglifier (>= 1.0.3) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
web: bundle exec rails server thin -p $PORT -e $RACK_ENV |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
# 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. | ||
|
||
## Background | ||
|
||
[Kickstarter rejected us](http://techcrunch.com/2012/10/07/the-story-of-lockitron-crowdfunding-without-kickstarter/), so we made our own crowdfunding for [Lockitron](https://lockitron.com). Feel free to [give us feedback](mailto:[email protected])! | ||
|
||
Over the past week, a lot of people asked us for help with building their own crowdfunding app. This is it. | ||
|
||
Selfstarter is 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 let's 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. | ||
|
||
## Getting Started | ||
|
||
First you'll need to fork and clone this repo | ||
|
||
Let's get all our dependencies setup: | ||
```bash | ||
bundle install --without production | ||
``` | ||
|
||
Now let's create the database: | ||
```bash | ||
rake db:migrate | ||
``` | ||
|
||
Let's get it running: | ||
```bash | ||
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 run: | ||
|
||
```bash | ||
gem install heroku | ||
heroku create | ||
git push heroku master | ||
heroku run rake db:migrate | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
#!/usr/bin/env rake | ||
# Add your own tasks in files placed in lib/tasks ending in .rake, | ||
# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake. | ||
|
||
require File.expand_path('../config/application', __FILE__) | ||
|
||
Selfstarter::Application.load_tasks |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
// This is a manifest file that'll be compiled into application.js, which will include all the files | ||
// listed below. | ||
// | ||
// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts, | ||
// or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path. | ||
// | ||
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the | ||
// the compiled file. | ||
// | ||
// WARNING: THE FIRST BLANK LINE MARKS THE END OF WHAT'S TO BE PROCESSED, ANY BLANK LINE SHOULD | ||
// GO AFTER THE REQUIRES BELOW. | ||
// | ||
//= require jquery | ||
//= require jquery_ujs | ||
//= require jquery-ui | ||
//= require jquery.details | ||
//= require jquery.textchange | ||
//= require preorder | ||
//= require_tree . |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
Selfstarter = | ||
firstTime: true | ||
validateEmail: -> | ||
# The regex we use for validating email | ||
# It probably should be a parser, but there isn't enough time for that (Maybe in the future though!) | ||
if /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/.test($("#email").val()) | ||
$("#email").removeClass("highlight") | ||
$("#amazon_button").removeClass("disabled") | ||
else | ||
$("#email").addClass("highlight") unless Selfstarter.firstTime | ||
$("#amazon_button").addClass("disabled") unless $("#amazon_button").hasClass("disabled") | ||
init: -> | ||
$("#email").bind "textchange", -> | ||
Selfstarter.validateEmail() | ||
$("#email").bind "hastext", -> | ||
Selfstarter.validateEmail() | ||
# The first time they type in their email, we don't want it to throw a validation error | ||
$("#email").change -> | ||
Selfstarter.firstTime = false | ||
$ -> | ||
Selfstarter.init() | ||
$("#email").focus() | ||
|
||
|
||
|
||
|
||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
/* | ||
* This is a manifest file that'll be compiled into application.css, which will include all the files | ||
* listed below. | ||
* | ||
* Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets, | ||
* or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path. | ||
* | ||
* You're free to add application-wide styles to this file and they'll appear at the top of the | ||
* compiled file, but it's generally better to create a new file per style scope. | ||
* | ||
*= require_self | ||
*= require reset | ||
*= require main | ||
*/ |
Oops, something went wrong.