- Create a new issue with clear description and steps to reproduce in case of a bug
- Fork repository
- Clone your fork
- Make your change, make sure each commit is atomaric and has meaningful message
- Push you commits to your forked repository
- Create pull request
SugoiOverflow is built on nodejs You can install it from official download page or use your operating system's package manager to get it:
Mac OS X (brew)
brew install nodejs
sudo apt-get install nodejs
Windows(chocolatey)
choco install nodejs
In order to build all packages you will need to have:
- node-gyp:
npm install node-gyp -g
- python 2
- Windows users will need to have Microsoft Visual Studio C++ 2012/13 for Windows Desktop installed and specify
--msvs_version=<vs version>
when you runnpm install
command
In order to downscale avatars SugoiOverflow uses GraphicsMagick utility which you can easily install:
Mac OS X (brew)
brew install graphicsmagick
sudo apt-get install graphicsmagick
Windows(chocolatey)
choco install graphicsmagick
git clone <your fork url>
cd <your fork folder>
npm install [don't forget --msvs_version=<vs version> if you use windows]
You are now all set and can start working.
##Structure The whole app is divided on server and client parts. Server runs on node.js, uses express as REST framework, mongoDB for storing data and mongoose to make data management even easier.
##Sublime Text users
There are three sublime projects:
- server:
./server/server.sublime-project
- client:
./client/client.sublime-project
- everything else:
./util.sublime-project
SugoiOverflow uses gulp as task runner. To use it you need to run npm install gulp -g
prior to running any command. After just by typing "gulp" in terminal you run default task gulp run
which compiles client-side code, runs node process with entry point at ./server/index.js
and adds watch on all files in project.