IdeaBin is intended to be a platform to better enable people to easily collaborate with others while maintaining project versions allowing idea owners to retain control over their projects using the Git versioning sysem, as well as allowing them to approve and undo changes submitted by collaborators.
- Rails 4.1.5
- Ruby 2.1.2
- NodeJS
- AngularJS
- Bower
- PostGreSql
- imageMagick
1. Install Ruby:
https://www.ruby-lang.org/en/documentation/installation
2. Install Rails - http://installrails.com
gem install rails
3. Install git
4. Install postrgreSQL
5. Install NodeJS
6. Install bower npm
install -g bower
7. Make sure you have imageMagick installed.
For windows users this means not using the .dll file and setting
up the appropriate paths 7. Open a command line and navigate to
the directory that you would like to save the project and type in
the following and press enter.
git clone https://github.com/deepthought42/ideaBin.git
8. create directories /public/data/repository
9. On the command line navigate to the ideaBin folder and run the following commands:
9.1) Install bower dependencies by typing the following on the command line
bower install
9.2) Setup Database
9.2.1) rename ideaBin/config/database.tmp.yml to
ideaBin/config/database.yml. Replace 'user_here' with your username.
Replace 'password_here' with your password.
9.2.2) Navigate to the top of the ideaBin folder on the command line.
rake db:setup
9.3) install bundled gems bundle install
9.4) Start server rails server
10. Navigate to localhost:3000 and you should see the home page for ideaBin.
In ideaBin everything focuses on the management of and contribution to ideas, so naturally an idea is the focal point of the code and the app in general. Currently the code is quite simple and consists of just ideas and users. Whenever an idea is created, we take the liberty of generating a folder in /public/data/repository/:user_id as well as initializing a new git repository. When users upload changes to the project by simply dragging and dropping either a new file or one they downloaded and edited, ideaBin then does 1 of 2 things.
1) If you are the user that created the idea then the upload is performed and changes are simultaneously committed to the repository so you don't have to worry about it.
2) If you aren't the user that created the idea then the original repository is cloned and placed in the users repository folder at /public/data/repository/:user_id. The system then takes the uploaded file and places it in the folder as well as committing the changes. When finished ideaBin will be a fully open source platform that you can contribute to through the platform as well as managing your own projects through an intuitive User interface and integrated code editors, image editors, diagramming tools and other things that teams tend to need when collaborating on a project. There is certainly lots to do, so feel free to help out if that's something you'd be in to.
There's no shortage of things that need to be done on this project. If you are interested in contributing there are a number of things you can do. There is currently very limited bug reporting. If you find one I'd love to know about it. You can also find features or whatnot that need to be fixed in the issues section of github. Any and all help or criticism are very much appreciated. Email us at support@ideabin.net