Giter Club home page Giter Club logo

blockrazor's Introduction

Blockrazor

To run locally:

Install Meteor

curl https://install.meteor.com/ | sh

Clone repository

git clone https://github.com/Blockrazor/blockrazor.git

Note: if you want to edit things and send a pull request you should fork this project first and clone your own fork instead of https://github.com/Blockrazor/blockrazor.git. [problem #42]

Install Dependencies

meteor npm install --save core-js
meteor npm install

Set environment variables

export ROOT_URL=http://localhost:3000
(set to https://blockrazor.org for production)
export HTTP_FORWARDED_COUNT=0
(set to 1 for production if behind nginx forwarder)

Run meteor

meteor
(use meteor --production to minify everything and simulate production speeds
While meteor is running, in a new shell from within the Blockrazor directory run: mongorestore -h 127.0.0.1 --port 3001 -d meteor dump/meteor
(You will need Mongo to be installed so you have mongorestore on your system).

Mongo errors

If Mongo exists with status 1: Quick fix: export LC_ALL=C
Proper fix: something is wrong with your OS locales, good luck.

Contributing

Contribution protocol/policy: Collective Code Construction Contract (C4)

If you're wondering why any of the rules in the C4 are there, take a look at the line by line explanation of everything in the C4, this explains the rationale and history behind everything in the protocol and makes it easier to understand.

Contributing FAQ

Q: I'm kind of new to Github, how do I get started?

  1. Read the contribution protocol and the line by line explanation of the protocol.
  2. Fork this github repository under your own github account.
  3. Clone your fork locally on your development machine.
  4. Choose one problem to solve. If you aren't solving a problem that's already in the issue tracker you should describe the problem there (and your idea of the solution) first to see if anyone else has something to say about it (maybe someone is already working on a solution, or maybe you're doing somthing wrong).

If the issue is in the issue tracker, you should comment on the issue to say you're working on the solution so that other people don't work on the same thing.

  1. Add the Blockrazor repository as an upstream source and pull any changes:
@: git remote add upstream git://github.com/blockrazor/blockrazor //only needs to be done once
@: git checkout master //just to make sure you're on the correct branch
@: git pull upstream master //this grabs any code that has changed, you want to be working on the latest 'version'
@: git push //update your remote fork with the changes you just pulled from upstream master
  1. Create a local branch on your machine git checkout -b branch_name (it's usually a good idea to call the branch something that describes the problem you are solving). Never develop on the master branch, as the master branch is exclusively used to accept incoming changes from upstream:master.
  2. Solve the problem in the absolute most simple and fastest possible way with the smallest number of changes humanly possible. Tell other people what you're doing by putting very clear and descriptive comments in your code every 2-3 lines.
    Add your name to the AUTHORS file so that you become a part owner of Blockrazor.
  3. Commit your changes to your own fork: Before you commit changes, you should check if you are working on the latest version (again). Go to the github website and open your fork of Blockrazor, it should say This branch is even with Blockrazor:master.
    If not, you need to pull the latest changes from the upstream Blockrazor repository and replay your changes on top of the latest version:
@: git stash //save your work locally
@: git checkout master
@: git pull upstream master
@: git push
@: git checkout -b branch_name_stash
@: git pop //_replay_ your work on the new branch which is now fully up to date with the Blockrazor repository

Now you can add and commit your changes:

@: git add changed_file.js //repeat for each file you changed
@: git commit -m 'problem: very short description of problem //do not close the '', press ENTER two (2) times
>
>solution: short description of how you solved the problem.' //Now you can close the ''. Also mention the issue number if there is one (e.g. #6)    
@: git push //this will send your changes to _your_ fork on Github
  1. Go to your fork on Github and select the branch you just worked on. Click "pull request" to send a pull request back to the Blockrazor repository.
  2. Send the pull request.

Q: What happens after I send a pull request?

If your pull request contains a correct patch (read the C4) a maintainer should merge it.
If you want to work on another problem in the meantime simply repeat the above steps starting at:

@: git checkout master

Q: Can I be paid to contribute to Blockrazor?

Yes, this is sometimes possible. Your first step is to very carefully read and understand everything above, including the linked files, then start fixing problems and sending pull requests! If your code is amazing and brilliant but you don't understand the contribution process we cannot consider you for a paid position. Make sure you follow the project on Github so you get updates. Contact Blockrazor's BDFL (Benevolent Dictator For Life): gareth.hayes AT gmail.com if you've been contributing code to Blockrazor and want to keep doing it but but you require financial assistance.

License

This project is licensed under the MPL v2.0 license and Copyright AUTHORS.

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.