Giter Site home page Giter Site logo

lesliep / crowdpublishtv Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ece106/tomatocan

0.0 2.0 0.0 3.45 MB

Free livestreaming web sites for authors

Home Page: http://CrowdPublish.TV

Ruby 0.83% JavaScript 26.94% CoffeeScript 0.02% CSS 70.93% HTML 1.28%

crowdpublishtv's Introduction

Copyright © 2015, RoleModel Enterprises, LLC. All rights reserved.


The code will be used to provide free web sites for authors who own their rights to sell their merchandise, give livestreaming talks, and otherwise communicate with their existing and potential fans. Toward this end, developers may add whatever features they wish to the code. Think of this as becoming ebay, meetup, livestream, book reviews, facebook page, blog, crowdfunding, calendar, mailchimp, & website for authors, reviewers/readers, book clubs, and writer organizations all in one.

Please check the Issues list on CrowdPublishTV's GitHub page for ideas of what current priorities are. 

The intention of this repository is to be used as a project for developers of all skill levels to improve their skills by contributing code and by assisting junior developers with their code contributions. The founder, Lisa Schaefer, Ph.D., has taught a beginners Ruby on Rails course at George Mason University and encourages women entrepreneurs to be the primary mentors, mentees, and leaders in this project. Dr. Schaefer also advocates for women's voices to be heard and heeded in the software development community.

CrowdPublish.TV is an experiment in using a live project to teach Ruby on Rails. During her 12 years of university education, Dr. Schaefer felt that academic exercises were a poor use of time compared to projects that would be used for real world business applications. She was disappointed that coursework did not result in knowledge of how the skills would be used in a real project. Internships did not bridge that gap, rather interns were required to learn a completely different set of skills at each new workplace. Dr. Schaefer wanted to propose courses in which the students' work would be used in a real life practical business application. The students who demonstrate improvement in skills while working on CrowdPublish.TV would have the opportunity to be promoted to mentors (much like students become Teaching Assistants in graduate school). Mentors who demonstrate mastery of skills would graduate to more supervisory roles.

In the future, there will be a discussion among senior contributors on how senior developers would have opportunities for compensation for their work. The intention is to develop a new business model outside of the way current startup businesses are funded. Venture capital firms give high preference to male-owned and male-developed startups. They justify this discrimination by calling it "pattern matching," meaning that they fund people who look like other people they have previously funded. Instead of trying to break into the boys' game, women must create their own game, outside the male-created system, where women retain ownership of their inventions and do not rely on entities that do not value their worth. I believe that this model will benefit many men who are also not interested in the current system of startup funding and business practices.

RoleModel Enterprises, LLC, owns the copyright to all code, design, and graphics contributed to this repository. Contributors grant copyright of any code, design, and graphics they contribute to this repository to RoleModel Enterprises, LLC. Contributors may reuse their code contributions and the knowledge gained from working on this project, provided it meets the following criteria:

1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form are not permitted.

3. Redistribution of the entire code repository is not permitted. Use of the entire code repository is encouraged, but only for developers and their mentees who are using it for the specific educational purposes endorsed by RoleModel Enterprises, LLC.

4. Neither the name of CrowdPublish.TV, RoleModel Enterprises, LLC, nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

RoleModel Enterprises, LLC, will use the code to empower the community of authors and artists who own their rights. Other individuals and organizations may use the code for educational purposes only. 

This software is provided by the copyright holders and contributors "as is" and any express or implied warranties, including, but not limited to the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the copyright owner of contributors be liable for any direct, indirect, incidental, special, exemplary or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.
 
This Readme file may change at any time.



QUIZ FOR POTENTIAL DEVELOPERS
To determine current skill level -
Send your responses to [email protected] & we'll respond with instructions on how to join our Monday evening google hangouts & improve your Ruby on Rails & TDD skills along with us.

Note: Potential mentees with the highest skill level will be matched with mentors who have the highest skill level. Which means that potential mentors with the best skill set will get the more advanced mentees. Thus it is in your best interest to show off your current skills so you can work with others who are best positioned to challenge you. Refer to http://github.com/crowdpublishtv/crowdpublishtv and use tutorials, google, etc. to help you figure out the answers. 

1. What is the design of the CrowdPublish.TV database? Submit as a jpg or png (You may draw on paper & submit as a photo) 
2. Which file/view is the users' home page? What information do authors get to display on their home page? Where is this information stored in the CrowdPublish.TV database? 
3. What pages/views do authors get in their web site when they sign up for CrowdPublish.TV? 
4. What are the default views for all Rails apps? 
5. What are the routes that were added to the CrowdPublish.TV app so the non-default/extra views for user pages could be displayed? 
6. What are the methods that were added to the CrowdPublish.TV app so the non-default/extra user views/pages could be displayed? What file are they in? 
7. Where is the method to add_bank_account to users? What gem does it use? 
8. Fork a copy of the crowdpublishtv github repo (url above) into your github account. Make a minor change that does not affect functionality (such as add a dummy file to the root directory) and request that the CrowdPublishTV admin pull your changes.  
9. Summarize your Ruby & Rails skill level/what you know in your own words.


TO USE THE CODE IN YOUR LOCAL TEST ENVIRONMENT

Files To Check/Change/Create: 

* config/initializers/carrierwave.rb: 
Make sure
      :aws_access_key_id      => 'AWS_KEY', 
      :aws_secret_access_key  => 'AWS_SECRET_KEY', 
is NOT commented out.

* gemfile
Delete 'pg' and replace with 'sqlite3'

* app/views/layouts/application.html.erb: 
Make sure 
  <%#= tag :meta, :name => "stripe-key", :content => ENV['STRIPE_PUBLIC_KEY'] %>
is commented out.
Make sure 
  <%= tag :meta, :name => "stripe-key", :content => STRIPE_PUBLIC_KEY %> 
is NOT commented out.

The ENV variables may already be commented out, depending upon what the last developer pushed. ENV variables are for heroku. Therefore the last commit before pushing to heroku must have those variables set. The non-ENV variables use the initializer files, which are for use on local machines. 

* config/initializers/fakekeys.rb: 
Create this file DO NOT CHANGE THE NAME (note that it is listed in .gitignore) & paste the following into it:

DEVISE_SECRET_KEY = 'fake'
AWS_KEY = 'morefake'
AWS_SECRET_KEY = 'pretend' 
STRIPE_SECRET_KEY = "madeup"
STRIPE_PUBLIC_KEY = "allfake"
GMAIL_PWD = "superfake"
Stripe.api_key = STRIPE_SECRET_KEY

Of course, with the fake keys, you will not be able to use AWS (upload files to user profiles), Devise (logins), or Stripe (purchase items from authors). If you have your own AWS, Devise, or Stripe accounts, you may replace the keys in config/initializers/fakekeys.rb with your accounts' keys. 

*config/database.yml
Create this file DO NOT CHANGE THE NAME (note that it is listed in .gitignore) & paste the following into it:

default: &default
  adapter: sqlite3
  pool: 5
  timeout: 5000

development:
  <<: *default
  database: db/development.sqlite3

test:
  <<: *default
  database: db/test.sqlite3


Then type 
>bundle install 
at the command line to install all the necessary gems.

Then type 
>rake db:migrate
at the command line to build the database with the correct schema.

Then type
>bin/rails server
at the command line to start the server

crowdpublishtv's People

Contributors

ece106 avatar myclassproject avatar lesliep avatar wiafe avatar july005 avatar

Watchers

James Cloos avatar  avatar

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.