Giter Club home page Giter Club logo

rails-prelaunch-signup's People

Contributors

andreapavoni avatar danielkehoe avatar jmcaffee avatar kathyonu avatar padi avatar tmock12 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rails-prelaunch-signup's Issues

Button Style in new.html.erb

In rails-prelaunch-signup / app / views / devise / registrations / new.html.erb

I think on line 12, you meant to have "btn btn-success" instead of "btn.btn-success".

Couldn't load application.yaml

This was the last step of the prelaunch installation that I reached...

  remove    config/application.example.yml

...and then...

  The template 
  [https://raw.github.com/RailsApps/rails-composer/master/composer.rb] 
  could not be loaded. 
  Error: Could not find "path_to_app/config/application.yml" in any of your 
  source paths.
  Your current source paths are: 
  home-directory/.rvm/gems/ruby-1.9.3-p194@rails328/gems/
  railties-3.2.11/lib/rails/generators/rails/app/templates

CLOSE button is disable when error in Request Invitation dialog box

Want to verify that other people see this condition too.

Using RailsApp's Startup Prelaunch Signup App

Entered "Request Invitation" email already used, get error and disabled
CLOSE button and disable X in top right corner. Is that correct?

i have to close the tab in the browser to get rid of the dialog box.

MailChimp API error while running migration and creating DEFAULT USERS

I've been trying to run the migration for the db and theres is an error when trying to create the email address provided for the Admin by the ENV variable.

DEFAULT USERS
user: Erik Santiago
rake aborted!
MailChimp API Error: This email address looks fake or invalid. Please enter a real email address (code -100)

I must say that I wanted to user my name and email account to create the Admin but for some reason it is not working.

Bulk invitations sent to already confirmed users

The problem is that the confirmation_token is emptied when the user confirms and the bulk_invite filters on empty confirmation_tokens only:

users = User.where(:confirmation_token => nil).order(:created_at).limit(params[:quantity])

Simply adding :encrypted_password => nil to the where cluase solves the problem:

users = User.where(:confirmation_token => nil, :encrypted_password => nil).order(:created_at).limit(params[:quantity])

errors with rvm installing starter app

Trying to install the starter app gives me this error when it gets to the line extras Banning spiders by modifying 'public/robots.txt'

https://raw.github.com/RailsApps/rails3-application-templates/master/rails3-bootstrap-devise-cancan-template.rb:1084:in rescue in apply': RVM ruby lib is currently unavailable. (RuntimeError) from https://raw.github.com/RailsApps/rails3-application-templates/master/rails3-bootstrap-devise-cancan-template.rb:1079:inapply'
from /Users/m/.rvm/gems/ruby-1.9.3-rc1@ruby193/gems/thor-0.16.0/lib/thor/actions.rb:221:in instance_eval' from /Users/m/.rvm/gems/ruby-1.9.3-rc1@ruby193/gems/thor-0.16.0/lib/thor/actions.rb:221:inapply'
from /Users/m/.rvm/gems/ruby-1.9.3-rc1@ruby193/gems/railties-3.2.8/lib/rails/generators/app_base.rb:109:in apply_rails_template' from (eval):1:inapply_rails_template'
from /Users/m/.rvm/gems/ruby-1.9.3-rc1@ruby193/gems/thor-0.16.0/lib/thor/task.rb:27:in run' from /Users/m/.rvm/gems/ruby-1.9.3-rc1@ruby193/gems/thor-0.16.0/lib/thor/invocation.rb:120:ininvoke_task'
from /Users/m/.rvm/gems/ruby-1.9.3-rc1@ruby193/gems/thor-0.16.0/lib/thor/invocation.rb:126:in block in invoke_all' from /Users/m/.rvm/gems/ruby-1.9.3-rc1@ruby193/gems/thor-0.16.0/lib/thor/invocation.rb:126:ineach'
from /Users/m/.rvm/gems/ruby-1.9.3-rc1@ruby193/gems/thor-0.16.0/lib/thor/invocation.rb:126:in map' from /Users/m/.rvm/gems/ruby-1.9.3-rc1@ruby193/gems/thor-0.16.0/lib/thor/invocation.rb:126:ininvoke_all'
from /Users/ml/.rvm/gems/ruby-1.9.3-rc1@ruby193/gems/thor-0.16.0/lib/thor/group.rb:238:in dispatch' from /Users/m/.rvm/gems/ruby-1.9.3-rc1@ruby193/gems/thor-0.16.0/lib/thor/base.rb:425:instart'
from /Users/m/.rvm/gems/ruby-1.9.3-rc1@ruby193/gems/railties-3.2.8/lib/rails/commands/application.rb:38:in <top (required)>' from /Users/m/.rvm/rubies/ruby-1.9.3-rc1/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:inrequire'
from /Users/m/.rvm/rubies/ruby-1.9.3-rc1/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:in require' from /Users/m/.rvm/gems/ruby-1.9.3-rc1@ruby193/gems/railties-3.2.8/lib/rails/cli.rb:15:in<top (required)>'
from /Users/m/.rvm/rubies/ruby-1.9.3-rc1/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:in require' from /Users/m/.rvm/rubies/ruby-1.9.3-rc1/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:inrequire'
from /Users/m/.rvm/gems/ruby-1.9.3-rc1@ruby193/gems/railties-3.2.8/bin/rails:7:in <top (required)>' from /Users/m/.rvm/gems/ruby-1.9.3-rc1@ruby193/bin/rails:19:inload'
from /Users/m/.rvm/gems/ruby-1.9.3-rc1@ruby193/bin/rails:19:in `

'

database.yml not found

git clone git://github.com/RailsApps/rails-prelaunch-signup.git, I cloned the project from the given link and ran bundle install.

I am getting the following errors:

C:/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.2.5/lib/rails/application/configuration.rb:115:in read': No such file or directory - D:/work/rails-prelaunch-signup/config/database.yml (Er rno::ENOENT) from C:/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.2.5/lib/rails/application/configuration.rb:115:indatabase_configuration'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/activerecord-3.2.5/lib/active_record/railtie.rb:78:in block (2 levels) in <class:Railtie>' from C:/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.5/lib/active_support/lazy_load_hooks.rb:36:ininstance_eval'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.5/lib/active_support/lazy_load_hooks.rb:36:in execute_hook' from C:/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.5/lib/active_support/lazy_load_hooks.rb:26:inblock in on_load'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.5/lib/active_support/lazy_load_hooks.rb:25:in each' from C:/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.5/lib/active_support/lazy_load_hooks.rb:25:inon_load'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/activerecord-3.2.5/lib/active_record/railtie.rb:74:in block in <class:Railtie>' from C:/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.2.5/lib/rails/initializable.rb:30:ininstance_exec'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.2.5/lib/rails/initializable.rb:30:in run' from C:/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.2.5/lib/rails/initializable.rb:55:inblock in run_initializers'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.2.5/lib/rails/initializable.rb:54:in each' from C:/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.2.5/lib/rails/initializable.rb:54:inrun_initializers'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.2.5/lib/rails/application.rb:136:in initialize!' from C:/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.2.5/lib/rails/railtie/configurable.rb:30:inmethod_missing'
from D:/work/rails-prelaunch-signup/config/environment.rb:5:in <top (required)>' from C:/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.5/lib/active_support/dependencies.rb:251:inrequire'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.5/lib/active_support/dependencies.rb:251:in block in require' from C:/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.5/lib/active_support/dependencies.rb:236:inload_dependency'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.5/lib/active_support/dependencies.rb:251:in require' from D:/work/rails-prelaunch-signup/config.ru:4:inblock in

'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rack-1.4.1/lib/rack/builder.rb:51:in instance_eval' from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rack-1.4.1/lib/rack/builder.rb:51:ininitialize'
from D:/work/rails-prelaunch-signup/config.ru:1:in new' from D:/work/rails-prelaunch-signup/config.ru:1:in'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rack-1.4.1/lib/rack/builder.rb:40:in eval' from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rack-1.4.1/lib/rack/builder.rb:40:inparse_file'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rack-1.4.1/lib/rack/server.rb:200:in app' from C:/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.2.5/lib/rails/commands/server.rb:46:inapp'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rack-1.4.1/lib/rack/server.rb:301:in wrapped_app' from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rack-1.4.1/lib/rack/server.rb:252:instart'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.2.5/lib/rails/commands/server.rb:70:in start' from C:/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.2.5/lib/rails/commands.rb:55:inblock in <top (required)>'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.2.5/lib/rails/commands.rb:50:in tap' from C:/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.2.5/lib/rails/commands.rb:50:in<top (required)>'
from script/rails:6:in require' from script/rails:6:in'

MailChimp welcome email not sending

Hey - I can't get my MailChimp welcome email to send. The add_user_to_mailchimp code works and adds new users to my MailChimp list, it just doesn't send a welcome email. Maybe not technically an error on your end but is there anything you can think I might have missed?

Again, I have the list 'Visitors' set up and users are being added to it; is there anything on the MailChimp side I need to do to activate the welcome email?

  def add_user_to_mailchimp
    unless self.email.include?('@example.com')
      mailchimp = Hominid::API.new(ENV["MAILCHIMP_API_KEY"])
      list_id = mailchimp.find_list_id_by_name "Visitors"
      info = { }
      result = mailchimp.list_subscribe(list_id, self.email, info, 'html', false, true, false, true)
      Rails.logger.info("MAILCHIMP SUBSCRIBE: result #{result.inspect} for #{self.email}")
    end
  end

To fix two broken rspec specs

  1. Add "validates_confirmation_of :password" line (15) to add/models/user.rb file.
  2. Changed "false" to '!(password != "")' inside "if !persisted?" (line 19) inside app/models/user.rb file.

NameError: uninitialized constant RailsPrelaunchSignup

I had an installation issue but sorted that out. Now right after I did

'bundle install'

http://localhost:3000/ or local.dev (with Pow) gave me this error:

~/projects/rails/learn/market/config/routes.rb:1:in `<top (required)>'
~/.rvm/gems/ruby-1.9.3-p194@market/gems/railties-3.2.8/lib/rails/application/routes_reloader.rb:40:in `block in load_paths'
~/.rvm/gems/ruby-1.9.3-p194@market/gems/railties-3.2.8/lib/rails/application/routes_reloader.rb:40:in `each'
~/.rvm/gems/ruby-1.9.3-p194@market/gems/railties-3.2.8/lib/rails/application/routes_reloader.rb:40:in `load_paths'
~/.rvm/gems/ruby-1.9.3-p194@market/gems/railties-3.2.8/lib/rails/application/routes_reloader.rb:16:in `reload!'
~/.rvm/gems/ruby-1.9.3-p194@market/gems/railties-3.2.8/lib/rails/application/routes_reloader.rb:26:in `block in updater'
~/.rvm/gems/ruby-1.9.3-p194@market/gems/activesupport-3.2.8/lib/active_support/file_update_checker.rb:78:in `call'
~/.rvm/gems/ruby-1.9.3-p194@market/gems/activesupport-3.2.8/lib/active_support/file_update_checker.rb:78:in `execute'
~/.rvm/gems/ruby-1.9.3-p194@market/gems/railties-3.2.8/lib/rails/application/routes_reloader.rb:27:in `updater'
~/.rvm/gems/ruby-1.9.3-p194@market/gems/railties-3.2.8/lib/rails/application/routes_reloader.rb:7:in `execute_if_updated'
~/.rvm/gems/ruby-1.9.3-p194@market/gems/railties-3.2.8/lib/rails/application/finisher.rb:66:in `block in <module:Finisher>'
~/.rvm/gems/ruby-1.9.3-p194@market/gems/railties-3.2.8/lib/rails/initializable.rb:30:in `instance_exec'
~/.rvm/gems/ruby-1.9.3-p194@market/gems/railties-3.2.8/lib/rails/initializable.rb:30:in `run'
~/.rvm/gems/ruby-1.9.3-p194@market/gems/railties-3.2.8/lib/rails/initializable.rb:55:in `block in run_initializers'
~/.rvm/gems/ruby-1.9.3-p194@market/gems/railties-3.2.8/lib/rails/initializable.rb:54:in `each'
~/.rvm/gems/ruby-1.9.3-p194@market/gems/railties-3.2.8/lib/rails/initializable.rb:54:in `run_initializers'
~/.rvm/gems/ruby-1.9.3-p194@market/gems/railties-3.2.8/lib/rails/application.rb:136:in `initialize!'
~/.rvm/gems/ruby-1.9.3-p194@market/gems/railties-3.2.8/lib/rails/railtie/configurable.rb:30:in `method_missing'
~/projects/rails/learn/market/config/environment.rb:5:in `<top (required)>'
~/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
~/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
~/projects/rails/learn/market/config.ru:3:in `block in <main>'
~/Library/Application Support/Pow/Versions/0.4.0/node_modules/nack/lib/nack/builder.rb:4:in `instance_eval'
~/Library/Application Support/Pow/Versions/0.4.0/node_modules/nack/lib/nack/builder.rb:4:in `initialize'
~/projects/rails/learn/market/config.ru:1:in `new'
~/projects/rails/learn/market/config.ru:1:in `<main>'
~/Library/Application Support/Pow/Versions/0.4.0/node_modules/nack/lib/nack/server.rb:50:in `eval'
~/Library/Application Support/Pow/Versions/0.4.0/node_modules/nack/lib/nack/server.rb:50:in `load_config'
~/Library/Application Support/Pow/Versions/0.4.0/node_modules/nack/lib/nack/server.rb:43:in `initialize'
~/Library/Application Support/Pow/Versions/0.4.0/node_modules/nack/lib/nack/server.rb:13:in `new'
~/Library/Application Support/Pow/Versions/0.4.0/node_modules/nack/lib/nack/server.rb:13:in `run'
~/Library/Application Support/Pow/Versions/0.4.0/node_modules/nack/bin/nack_worker:4:in `<main>'  

I googled and stumbled upon 8 results with nothing obvious. I'm working on getting through this one and will share anything here.

Using gemset and unable to install Rails 4.1.0

I created the suggested rvm gemset within the tutorial and then attempted to install Rails version 4.1.0 (as indicated within the composer tool) and returned the following error in my terminal:

gem install rails -v 4.1.0
ERROR: While executing gem ... (Gem::Exception)
Invalid spec cache file in /Users/RAI/.gem/specs/rubygems.org%443/specs.4.8

Note that I am still fairly new with Rails environments and ran a google search which didn't return any useful information. Also note that the rvm gemset that I am using is configured to ruby 2.0.0p481 as indicated in the tutorial.

Thanks and sorry if I missed anything,

Generation encounters missing file

While generating two branches (in this way):

Git branch for the prelaunch app?
          2)  master
Git branch for the main app?
          2)  wip (work-in-progress)

Rails Composer emits a message:

prelaunch  Unable to obtain features/users/sign_up.feature from the repo https://raw.github.com/RailsApps/rails-prelaunch-signup/master/

Currently, the file does not exist in that directory.

Furthermore, Rails Composer does not halt—but should it, in this kind of case?

Gibbon::MailChimpError at /users

I am really not sure where to start on this issue or how to begin to correct this. I have search stack overflow and google an not found the answer.

When I input user to request invite, I get the Error:

Gibbon::MailChimpError at /users
This email address looks fake or invalid. Please enter a real email address

I can only assume that this happened after I did the final step, which was to migrate the db for heroku. Please advise.

Failing test with Capybara 2.1.0

With the upgrade of Capybara 2.1.0 I had test failing right out the gate. Needed to add the following to features/support/env.rb

Capybara.ignore_hidden_elements = false

Also, on the testing front. It would be helpful to include Test Setup in the ReadMe. Took a while to figure out some of the cucumber failing test for bad logins. The password in the user.rb factory needs to be in sync with password in cucumber steps when creating a user with only email address.

Thanks for all you work.

Devise cannot build resource

The request invite form shows Email can't be blank message even with a valid email. Devise is not being able to build resource from the params hash.

Modal error rerenders whole page beneath modal (same behavior if class = modal fade)

Hi,
thanks for the great work!
The Modal error Handling seems to have an issue. If I just press "Request Invitation" without providing an email, I get an error inside the modal. This is defined by

<div id =" request-invite" class="modal" style="display: <%= @user.errors.any? ? 'block' : 'none'; %>

So far this is great!

I now added some pictures to the page (beneath the modal) wrapped in a seperate div, but on error it will render the whole page again. see attached image.

Seems like the same behavior when I set ...class "modal fade" (I would love to have some transition).

I tried for the last 5 Days to rewrite the modal dialog to use Rails build in ajax (remote => true). But I just could not get it to work.

Do you have any suggestion, how I can fix the error handling to only prompt the error and not misbehave like in the screenshot?

Thank you so much!
joh
Bildschirmfoto 2012-12-10 um 11.08.16.png

Errors thrown when confirmation link clicked twice

After user getting a confirmation email with a link (authentication token ) if same is clicked once user is getting logged-in directly and if user clicks again following errors are thrown:
ActionView::Template::Error (undefined method errors' for nil:NilClass): 1: <h2>Resend confirmation instructions</h2> 2: 3: <%= form_for(resource, :as => resource_name, :url => confirmation_path(resource_name), :html => { :method => :post }) do |f| %> 4: <%= devise_error_messages! %> 5: 6: <div><%= f.label :email %><br /> 7: <%= f.email_field :email %></div> app/controllers/confirmations_controller.rb:41:inshow'

Tests are not running correctly after commit aa03a8951c

Running tests for the second time after last commit will yield 5 validation errors in the users_controller_spec and user_mailer_spec:

Failures:

  1) UserMailer should be delivered to the email address provided
     Failure/Error: @user = FactoryGirl.create(:user, email: "[email protected]")
     ActiveRecord::RecordInvalid:
       Validation failed: Email has already been taken
     # ./spec/mailers/user_mailer_spec.rb:5:in `block (2 levels) in <top (required)>'

  2) UserMailer should contain the correct message in the mail body
     Failure/Error: @user = FactoryGirl.create(:user, email: "[email protected]")
     ActiveRecord::RecordInvalid:
       Validation failed: Email has already been taken
     # ./spec/mailers/user_mailer_spec.rb:5:in `block (2 levels) in <top (required)>'

  3) UserMailer should have the correct subject
     Failure/Error: @user = FactoryGirl.create(:user, email: "[email protected]")
     ActiveRecord::RecordInvalid:
       Validation failed: Email has already been taken
     # ./spec/mailers/user_mailer_spec.rb:5:in `block (2 levels) in <top (required)>'

  4) UsersController GET 'show' should be successful
     Failure/Error: @user = FactoryGirl.create(:user)
     ActiveRecord::RecordInvalid:
       Validation failed: Email has already been taken
     # ./spec/controllers/users_controller_spec.rb:6:in `block (2 levels) in <top (required)>'

  5) UsersController GET 'show' should find the right user
     Failure/Error: @user = FactoryGirl.create(:user)
     ActiveRecord::RecordInvalid:
       Validation failed: Email has already been taken
     # ./spec/controllers/users_controller_spec.rb:6:in `block (2 levels) in <top (required)>'

Going through the last commit, I found that the DatabaseCleaner had been removed from the spec_helper.rb file. Changing the file to the previous version (https://github.com/RailsApps/rails-prelaunch-signup/blob/884c0d26a597d663b6775496893cb32f6c7a403d/spec/spec_helper.rb) solved the issue.

Not adding user to Mailchimp List

Cannot get application to add users to the Mailchimp List. I have configured heroku for api keys as instructed and have modified my .bashrc file.

Cannot log in as admin user ([email protected])

I'm following the rails pre-launch tutorial and I'm to the Feature: View Progress section.
My cucumber tests are failing AND I'm unable to login to the app as the admin user. When I login, the next page states 'Your account is not active."

I've pulled down rails-prelaunch-signup and compared the code with what I currently have but nothing jumps out as being different.

[email protected] does have the admin role but the app still redirects to the devise/registrations#new screen.

roles

can you show roles for each user on admin page in the table and allow admin to change/assign the roles of the users?

Rails 4 `attr_accessible`

class User < ActiveRecord::Base
rolify
attr_accessible :role_ids, :as => :admin
attr_accessible :provider, :uid, :name, :email

validates_presence_of :name
def self.create_with_omniauth(auth)
create! do |user|

Can't seed the database with roles. ActiveRecord generates incorrect SQL.

I am using ruby-2.0.0-p247 on Windows 7 and rails 4.0.0

My db\seeds.rb file has this in the beginning, per the tutorial:

puts 'ROLES'
YAML.load(ENV['ROLES']).each do |role|
  Role.find_or_create_by_name({ :name => role }, :without_protection => true)
  puts 'role: ' << role
end

I run rake db:seed and this is the output:

ROLES
rake aborted!
PG::UndefinedTable: ERROR:  missing FROM-clause entry for table "name"
LINE 1: SELECT  "roles".* FROM "roles"  WHERE "name"."name" = 'admin...
                                              ^
: SELECT  "roles".* FROM "roles"  WHERE "name"."name" = 'admin'  ORDER BY "roles"."id" ASC LIMIT 1

I don't understand why the SQL WHERE clause comes out asWHERE "name"."name". I think it should be WHERE "role"."name"

I have no table called "name" in the database. Only a table called "role", as it should be. I guess I'm just going to seed by hand. But why is ActiveRecord generating this SQL?

Duplicate Email is not getting validated after couple of times

When same email id is given for registration, in the beginning it worked fine saying "email has already taken" but after couple of times the same is not working. I looked in to the code in RegistrationController.rb , this condition would fail (resource.active_for_authentication?) and else part is executed (expire_session_data_after_sign_in!
(render(:partial => 'thankyou', :layout => false) && return) if request.xhr?) this is trying to delete the user, which is wrong...!

Cucumber tests fail

Are the cucumber tests supposed to work?

Using the default profile...
Feature: Send Invitations
  As the owner of the site
  I want to send invitations to visitors who have requested invitations
  so users can try the site

  Scenario: Administrator sends invitation                           # features/admin/send_invitations.feature:6
    Given I request an invitation with valid user data               # features/step_definitions/visitor_steps.rb:42
      Unable to find field "Email" (Capybara::ElementNotFound)
      ./features/step_definitions/visitor_steps.rb:8:in `invitation_request'
      ./features/step_definitions/visitor_steps.rb:43:in `/^I request an invitation with valid user data$/'
      features/admin/send_invitations.feature:7:in `Given I request an invitation with valid user data'
    And I am logged in as an administrator                           # features/step_definitions/admin_steps.rb:1
    When I visit the users page                                      # features/step_definitions/admin_steps.rb:9
    And I click a link "send invitation"                             # features/step_definitions/admin_steps.rb:13
    And I open the email with subject "Confirmation instructions"    # features/step_definitions/email_steps.rb:80
    Then I should see "confirm your email address" in the email body # features/step_definitions/email_steps.rb:108

Feature: View Progress
  As the owner of the site
  I want to know how many visitors have requested invitations
  so I can know if my offer is popular

  Scenario: Administrator views list of users          # features/admin/view_progress.feature:6
    Given I request an invitation with valid user data # features/step_definitions/visitor_steps.rb:42
      Unable to find field "Email" (Capybara::ElementNotFound)
      ./features/step_definitions/visitor_steps.rb:8:in `invitation_request'
      ./features/step_definitions/visitor_steps.rb:43:in `/^I request an invitation with valid user data$/'
      features/admin/view_progress.feature:7:in `Given I request an invitation with valid user data'
    And I am logged in as an administrator             # features/step_definitions/admin_steps.rb:1
    When I visit the users page                        # features/step_definitions/admin_steps.rb:9
    Then I should see a list of users                  # features/step_definitions/admin_steps.rb:17

  Scenario: User cannot view list of users     # features/admin/view_progress.feature:12
    Given I am logged in                       # features/step_definitions/user_steps.rb:50
    When I visit the users page                # features/step_definitions/admin_steps.rb:9
    Then I should see an access denied message # features/step_definitions/admin_steps.rb:21
      expected to find text "Not authorized as an administrator" in "Rails Prelaunch Signup Login Sign up × You need to sign in or sign up before continuing. Sign in Email Password Remember me Forgot your password?" (RSpec::Expectations::ExpectationNotMetError)
      ./features/step_definitions/admin_steps.rb:22:in `/^I should see an access denied message$/'
      features/admin/view_progress.feature:15:in `Then I should see an access denied message'

Feature: Sign in
  In order to get access to protected sections of the site
  A user
  Should be able to sign in

  Scenario: User is not signed up         # features/users/sign_in.feature:6
    Given I do not exist as a user        # features/step_definitions/user_steps.rb:59
    When I sign in with valid credentials # features/step_definitions/user_steps.rb:69
    Then I see an invalid login message   # features/step_definitions/user_steps.rb:177
    And I should be signed out            # features/step_definitions/user_steps.rb:139

  Scenario: User signs in successfully      # features/users/sign_in.feature:12
    Given I exist as a user                 # features/step_definitions/user_steps.rb:55
    And I am not logged in                  # features/step_definitions/user_steps.rb:46
    When I sign in with valid credentials   # features/step_definitions/user_steps.rb:69
    Then I see a successful sign in message # features/step_definitions/user_steps.rb:149
      expected to find text "Signed in successfully." in "Rails Prelaunch Signup Login Sign up × Invalid email or password. Sign in Email Password Remember me Forgot your password?" (RSpec::Expectations::ExpectationNotMetError)
      ./features/step_definitions/user_steps.rb:150:in `/^I see a successful sign in message$/'
      features/users/sign_in.feature:16:in `Then I see a successful sign in message'
    When I return to the site               # features/step_definitions/user_steps.rb:107
    Then I should be signed in              # features/step_definitions/user_steps.rb:133

  Scenario: User enters wrong email     # features/users/sign_in.feature:20
    Given I exist as a user             # features/step_definitions/user_steps.rb:55
    And I am not logged in              # features/step_definitions/user_steps.rb:46
    When I sign in with a wrong email   # features/step_definitions/user_steps.rb:111
    Then I see an invalid login message # features/step_definitions/user_steps.rb:177
    And I should be signed out          # features/step_definitions/user_steps.rb:139

  Scenario: User enters wrong password   # features/users/sign_in.feature:27
    Given I exist as a user              # features/step_definitions/user_steps.rb:55
    And I am not logged in               # features/step_definitions/user_steps.rb:46
    When I sign in with a wrong password # features/step_definitions/user_steps.rb:116
    Then I see an invalid login message  # features/step_definitions/user_steps.rb:177
    And I should be signed out           # features/step_definitions/user_steps.rb:139

Feature: Sign out
  To protect my account from unauthorized access
  A signed in user
  Should be able to sign out

  Scenario: User signs out                 # features/users/sign_out.feature:6
    Given I am logged in                   # features/step_definitions/user_steps.rb:50
    When I sign out                        # features/step_definitions/user_steps.rb:74
    Then I should see a signed out message # features/step_definitions/user_steps.rb:173
      expected to find text "Signed out successfully." in "Rails Prelaunch Signup Login Sign up Want in? Request invite" (RSpec::Expectations::ExpectationNotMetError)
      ./features/step_definitions/user_steps.rb:174:in `/^I should see a signed out message$/'
      features/users/sign_out.feature:9:in `Then I should see a signed out message'
    When I return to the site              # features/step_definitions/user_steps.rb:107
    Then I should be signed out            # features/step_definitions/user_steps.rb:139

Feature: Sign up
  In order to get access to protected sections of the site
  As a user
  I want to be able to sign up

  Background:                # features/users/sign_up.feature:6
    Given I am not logged in # features/step_definitions/user_steps.rb:46

  Scenario: User signs up with valid data          # features/users/sign_up.feature:9
    When I sign up with valid user data            # features/step_definitions/user_steps.rb:78
      Unable to find field "Email" (Capybara::ElementNotFound)
      ./features/step_definitions/user_steps.rb:33:in `sign_up'
      ./features/step_definitions/user_steps.rb:80:in `/^I sign up with valid user data$/'
      features/users/sign_up.feature:10:in `When I sign up with valid user data'
    Then I should see a successful sign up message # features/step_definitions/user_steps.rb:153

  Scenario: User signs up with invalid email   # features/users/sign_up.feature:13
    When I sign up with an invalid email       # features/step_definitions/user_steps.rb:83
      Unable to find field "Email" (Capybara::ElementNotFound)
      ./features/step_definitions/user_steps.rb:33:in `sign_up'
      ./features/step_definitions/user_steps.rb:86:in `/^I sign up with an invalid email$/'
      features/users/sign_up.feature:14:in `When I sign up with an invalid email'
    Then I should see an invalid email message # features/step_definitions/user_steps.rb:157

Feature: Edit User
  As a registered user of the website
  I want to edit my user profile
  so I can change my username

  Scenario: I sign in and edit my account       # features/users/user_edit.feature:6
    Given I am logged in                        # features/step_definitions/user_steps.rb:50
    When I edit my account details              # features/step_definitions/user_steps.rb:121
      Unable to find link "Edit account" (Capybara::ElementNotFound)
      ./features/step_definitions/user_steps.rb:122:in `/^I edit my account details$/'
      features/users/user_edit.feature:8:in `When I edit my account details'
    Then I should see an account edited message # features/step_definitions/user_steps.rb:181

Feature: Show Users
  As a visitor to the website
  I want to see registered users listed on the homepage
  so I can know if the site has users

Feature: Request Invitation
  As a visitor to the website
  I want to request an invitation 
  so I can be notified when the site is launched

  Background:                # features/visitors/request_invitation.feature:6
    Given I am not logged in # features/step_definitions/user_steps.rb:46

  Scenario: User views home page                    # features/visitors/request_invitation.feature:9
    When I visit the home page                      # features/step_definitions/visitor_steps.rb:12
    Then I should see a button "Request Invitation" # features/step_definitions/visitor_steps.rb:16
      expected to find button "Request Invitation" but there were no matches. Also found "", which matched the selector but not all filters. (Capybara::ExpectationNotMet)
      ./features/step_definitions/visitor_steps.rb:17:in `/^I should see a button "([^\"]*)"$/'
      features/visitors/request_invitation.feature:11:in `Then I should see a button "Request Invitation"'

  Scenario: User views invitation request form    # features/visitors/request_invitation.feature:13
    When I visit the home page                    # features/step_definitions/visitor_steps.rb:12
    And I click a button "Request Invitation"     # features/step_definitions/visitor_steps.rb:20
      Unable to find button "Request Invitation" (Capybara::ElementNotFound)
      ./features/step_definitions/visitor_steps.rb:21:in `/^I click a button "([^"]*)"$/'
      features/visitors/request_invitation.feature:15:in `And I click a button "Request Invitation"'
    Then I should see a form with a field "Email" # features/step_definitions/visitor_steps.rb:24

  Scenario: User signs up with valid data                 # features/visitors/request_invitation.feature:18
    When I request an invitation with valid user data     # features/step_definitions/visitor_steps.rb:42
      Unable to find field "Email" (Capybara::ElementNotFound)
      ./features/step_definitions/visitor_steps.rb:8:in `invitation_request'
      ./features/step_definitions/visitor_steps.rb:43:in `/^I request an invitation with valid user data$/'
      features/visitors/request_invitation.feature:19:in `When I request an invitation with valid user data'
    Then I should see a message "Thank You"               # features/step_definitions/visitor_steps.rb:28
    And my email address should be stored in the database # features/step_definitions/visitor_steps.rb:32
    And my account should be unconfirmed                  # features/step_definitions/visitor_steps.rb:37

  Scenario: User signs up with invalid email           # features/visitors/request_invitation.feature:24
    When I request an invitation with an invalid email # features/step_definitions/visitor_steps.rb:46
      Unable to find field "Email" (Capybara::ElementNotFound)
      ./features/step_definitions/visitor_steps.rb:8:in `invitation_request'
      ./features/step_definitions/visitor_steps.rb:48:in `/^I request an invitation with an invalid email$/'
      features/visitors/request_invitation.feature:25:in `When I request an invitation with an invalid email'
    Then I should see an invalid email message         # features/step_definitions/user_steps.rb:157

Failing Scenarios:
cucumber features/admin/send_invitations.feature:6 # Scenario: Administrator sends invitation
cucumber features/admin/view_progress.feature:6 # Scenario: Administrator views list of users
cucumber features/admin/view_progress.feature:12 # Scenario: User cannot view list of users
cucumber features/users/sign_in.feature:12 # Scenario: User signs in successfully
cucumber features/users/sign_out.feature:6 # Scenario: User signs out
cucumber features/users/sign_up.feature:9 # Scenario: User signs up with valid data
cucumber features/users/sign_up.feature:13 # Scenario: User signs up with invalid email
cucumber features/users/user_edit.feature:6 # Scenario: I sign in and edit my account
cucumber features/visitors/request_invitation.feature:9 # Scenario: User views home page
cucumber features/visitors/request_invitation.feature:13 # Scenario: User views invitation request form
cucumber features/visitors/request_invitation.feature:18 # Scenario: User signs up with valid data
cucumber features/visitors/request_invitation.feature:24 # Scenario: User signs up with invalid email

15 scenarios (12 failed, 3 passed)
62 steps (12 failed, 20 skipped, 30 passed)
0m2.773s
rake aborted!
Command failed with status (1): [/home/mrichman/.rvm/rubies/ruby-2.0.0-p0/b...]

Devise views not working in production

The app's custom devise views don't seem to be working in production for me.

In development, everything works fine. I see the devise views I'm expecting (from the views/devise folder).

However, as soon as I switch to production, the app starts using the default device gem views.

Any ideas as to what might be going on? I'm assuming this is something really simple that I'm failing to notice.

Thanks!

The confirmati​on email do not carry current Password/ User unable to set his password

The confirmation email for a visitor donot carry the current password, because of this reason user will not be able to change his password.
Using confirmation link directly it gets logged in and edit account link is given to the use but he can't change his password. Is there any step in between confirmation link and edit account where user sets his password.

Use gem capybara-webkit instead of Selenium?

Why aren't we using the faster and more normal capybara-webkit instead of Selenium?

I presume (with either) we would be testing Javascript code.

Many Cucumber features are failing (for me) without a Firefox binary installed on my Linux box:

Could not find Firefox binary (os=linux). Make sure Firefox is installed or set the path manually with Selenium::WebDriver::Firefox::Binary.path= (Selenium::WebDriver::Error::WebDriverError)
      ./features/step_definitions/user_steps.rb:47:in `/^I am not logged in$/'

Problem with :confirmable and :invitable

I have followed the tutorial steps exactly, as far as I am aware, and I have two issues:

  1. Including ":invitable" in the user model causes all sorts of problems. I had to include the gem 'devise_invitable'

  2. I am getting this error:

Scenario: User signs up with valid data # features/visitors/request_invitation.feature:18
When I request an invitation with valid user data # features/step_definitions/visitor_steps.rb:42
undefined local variable or method confirmed_at' for #<User:0x007fe7c36bddb8> (NameError) ./app/models/user.rb:29:inactive_for_authentication?'
./features/step_definitions/visitor_steps.rb:9:in invitation_request' ./features/step_definitions/visitor_steps.rb:43:in/^I request an invitation with valid user data$/'
features/visitors/request_invitation.feature:19:in `When I request an invitation with valid user data'

I followed some advice in gett8ing :confirmable to work in Devise v2.0 by creating the migration:

class AddConfirmableToDeviseV1 < ActiveRecord::Migration
def change
change_table(:users) do |t|
t.string :confirmation_token
t.datetime :confirmed_at
t.datetime :confirmation_sent_at
end
add_index :users, :confirmation_token, :unique => true
end
end

and running rake db:migrate. However, this has not resolved the issue. Any help on both these issues would be greatly appreciated.

Method 'add_user_to_mailchimp' missing after invitation

I´m getting the following error after invitation button is clicked:

Parameters: {"user"=>{"email"=>"[email protected]"}}
(0.1ms) begin transaction
User Exists (0.1ms) SELECT 1 AS one FROM "users" WHERE "users"."email" = '[email protected]' LIMIT 1
SQL (2.7ms) INSERT INTO "users" ("confirmation_sent_at", "confirmation_token", "confirmed_at", "created_at", "current_sign_in_at", "current_sign_in_ip", "email", "encrypted_password", "last_sign_in_at", "last_sign_in_ip", "name", "remember_created_at", "reset_password_sent_at", "reset_password_token", "sign_in_count", "unconfirmed_email", "updated_at") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) ["confirmation_sent_at", nil], ["confirmation_token", nil], ["confirmed_at", nil], ["created_at", Tue, 24 Feb 2015 05:57:33 BRT -03:00], ["current_sign_in_at", nil], ["current_sign_in_ip", nil], ["email", "[email protected]"], ["encrypted_password", ""], ["last_sign_in_at", nil], ["last_sign_in_ip", nil], ["name", nil], ["remember_created_at", nil], ["reset_password_sent_at", nil], ["reset_password_token", nil], ["sign_in_count", 0], ["unconfirmed_email", nil], ["updated_at", Tue, 24 Feb 2015 05:57:33 BRT -03:00] rollback transaction
Completed 500 Internal Server Error in 1923ms

Gibbon::MailChimpError - Signup disabled for "[email protected]":
(gem) gibbon-1.1.5/lib/gibbon/api_category.rb:47:in call' (gem) gibbon-1.1.5/lib/gibbon/api_category.rb:57:inmethod_missing'
app/models/user.rb:66:in `add_user_to_mailchimp'
.....

private
def add_user_to_mailchimp
return if email.include?(ENV['ADMIN_EMAIL'])
mailchimp = Gibbon::API.new(ENV['MAILCHIMP_API_KEY'])
result = mailchimp.lists.subscribe({
:id => ENV['MAILCHIMP_LIST_ID'],
:email => {:email => self.email},
:double_optin => false,
:update_existing => true,
:send_welcome => true
})
Rails.logger.info("Subscribed #{self.email} to MailChimp") if result
end

All variables are set on application.yml and the method is correct at user.rb. What could be causing this ?
thank you

brakeman needs rails 3.2.8 to be happy

Verified previous fixes, but brakeman (security scanner) also wants Rails 3.2.8 with its security fixes.

After you upgrade Gemfile from 3.2.6 to 3.2.8, you get this:+-------------------+-------+
| Scanned/Reported | Total |
+-------------------+-------+
| Controllers | 1 |
| Models | 0 |
| Templates | 1 |
| Errors | 0 |
| Security Warnings | 0 (0) |
+-------------------+-------+

+--------------+-------+
| Warning Type | Total |
+--------------+-------+
+--------------+-------+

+SECURITY WARNINGS+

+------------------+
| General Warnings |
+------------------+
| [NONE] |
+------------------+

Question about branches

Per README section Git Branches, Rails Composer can create two branches (if the prelaunch one is 'master') when it generates this Rails Example App:

  1. Git branch for the prelaunch app
  2. Git branch for the main app

Do they have different contents? Which one is the current repository branch called master? And where is the other one on GitHub?

Unable to save User after adding modal thank you

My trouble came after overriding the 'create' method for Registration_Controller.rb

I already added in the javascript to display the modal thank you, so when i input a user email (a valid one), the html errors out telling me that the email field can't be blank.

According to the logs, there is a rollback transaction:

Started POST "/users" for 127.0.0.1 at 2014-06-22 03:24:01 -0700
Processing by RegistrationsController#create as /
Parameters: {"user"=>{"email"=>"[email protected]"}}
+++ resource is: User id: nil, email: "", encrypted_password: "", reset_password_token: nil, reset_password_sent_at: nil, remember_created_at: nil, sign_in_count: 0, current_sign_in_at: nil, last_sign_in_at: nil, current_sign_in_ip: nil, last_sign_in_ip: nil, created_at: nil, updated_at: nil, name: nil, confirmation_token: nil, confirmed_at: nil, confirmation_sent_at: nil, unconfirmed_email: nil

(0.1ms) begin transaction
(0.1ms) rollback transaction
+++ resource.save: false
(0.0ms) begin transaction
(0.0ms) rollback transaction
Rendered devise/registrations/new.html.erb (6.4ms)
Completed 200 OK in 109ms (Views: 16.6ms | ActiveRecord: 0.9ms)

It seems resource.save is always false. Any ideas?

Cannot handle error in sign up

When user signs up via "Request Invitation" , if there's an error such as duplicate email, RegistrationController.create doesn't return an xhr.error

(render(:partial => 'thankyou', :layout => false) && return) if request.xhr?

And thus this code in application.js doesn't handle error correctly.

$.ajax({
type: "POST",
url: "/users",
data: dataString,
success: function(data) {
$('#request-invite').html(data);
loadSocial();
},
});

and this isn't called:

if ($('.alert-error').length > 0) {
$("#request-invite").modal('toggle');
}

RVM issue

I've previously installed the simple bootstrap+CanCan+Devise without any issues and simply said 'No' to the local rvm request.
When trying to install the prelaunch-signup, I get the following error:
extras recipe creating project-specific rvm gemset and .rvmrc
https://raw.github.com/RailsApps/rails3-application-templates/master/rails-prelaunch-signup-template.rb:1906:in `rescue in apply': RVM gem is currently unavailable. (RuntimeError)

I don't want to use the RVM gem, and the rails3-boostrap-cancan composer didn't have these issues.

How can I fix this? (short of installing the RVM gem)

Reset password allows login without confirmation

If a user requests an invite and users password reminders, they are able to reset the password without the admin first approving them (thus circumventing the approval process). I believe it is because devise automatically sets the user to confirmed when they reset the password.

I used this code on my site and found that about 10% of users did this. I'd like to address this bug so I'd love to hear what you suggest.

Mailchimp actions on user

To avoid creating false mailchimp list entries while in development and during testing , a newly confirmed user should only be added to the mailchimp subscriber list in production.

def add_user_to_mailchimp
     return unless ENV['RAILS_ENV']=='production'
     :
end

def remove_user_from_mailchimp
    return unless ENV['RAILS_ENV']=='production'
    :
end

Change Backend into ActiveAdmin and Chart Library

Hi Daniel,

first of all i want to say thank you for your efforts in developing nice tutorials and working examples!
I've forked your app to integrate activeadmin and HighCharts library, a js one which doesn't use flash.
I need to add real data feed on the chart (now is filled with fake values).
If you want to take a look you can find it here:

https://github.com/scicco/rails-prelaunch-signup/tree/activeadmin

Maybe you can merge those changes into your app.

Hope to be useful!

Bye

Guido

cucumber encounters TypeError with mysql

Stack traces

When I visit the users page                                      # features/step_definitions/admin_steps.rb:9
  can't convert Date into String (TypeError)
  ./app/controllers/users_controller.rb:38:in `parse'
  ./app/controllers/users_controller.rb:38:in `block in create_chart'
  ./app/controllers/users_controller.rb:37:in `each'
  ./app/controllers/users_controller.rb:37:in `create_chart'
  ./app/controllers/users_controller.rb:7:in `index'
  ./features/step_definitions/admin_steps.rb:10:in `/^I visit the users page$/'
  features/admin/send_invitations.feature:9:in `When I visit the users page'

and

When I visit the users page                        # features/step_definitions/admin_steps.rb:9
  can't convert Date into String (TypeError)
  ./app/controllers/users_controller.rb:38:in `parse'
  ./app/controllers/users_controller.rb:38:in `block in create_chart'
  ./app/controllers/users_controller.rb:37:in `each'
  ./app/controllers/users_controller.rb:37:in `create_chart'
  ./app/controllers/users_controller.rb:7:in `index'
  ./features/step_definitions/admin_steps.rb:10:in `/^I visit the users page$/'
  features/admin/view_progress.feature:9:in `When I visit the users page'

produced by generating a new app with

rails new rails-prelaunch-signup -m https://raw.github.com/RailsApps/rails3-application-templates/master/rails-prelaunch-signup-template.rb -T

using defaults documented in the tutorial

App crashes on remove_user_from_mailchimp if user doesn't exist on mailing list

If the user has already unsubscribed from the mailchimp mailing list so that they are no longer a member of the list, and then goes to delete his account from the rails prelaunch signup application, the app crashes because it isn't able to successfully unsubscribe the user. What would be the best way to prevent this exception? Perhaps first check to see if the user is a member of the mailing before attempting to unsubscribe the user?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.