wukong tech refer: https://gist.github.com/taoning2014/a21fec1f99333c8b337b733159b0318a
wukong-phase-1 vedio demo: https://vimeo.com/157355174
code style
Inspired by DMK - Rong Zou, wukong is a platform built by Team BJGX (白驹过隙) to divide study groups for Bittiger members.
How does it work?
- Members' information is stored in database and each member has one of the following three statuses: active, to be grouped or inactive.
- Once new members fill information form, the default status will be "to be grouped". Our system will recommend joining certain opening groups based on their preferences and skills. Or several new members will become a new team based on their regions and interests.
- Group leader can post wanting positions and skills. All the members who want to join a target group can contact their leader.
- People being inactive for one week will be put into "inactive pool" by group leader. Their team history will be saved. After they want to do projects the status can be changed to active and they can enter the group again.
How we build it?
Built by using MEAN stack, and deployed on Heroku.
Step 1. Install mongodb and nodejs
- Install mongodb and node
- Create data directory for mongodb store data:
mkdir ~/Desktop/dbdata
- Start mongodb server:
mongod --dbpath ~/Desktop/dbdata
Step 2. get wukong source code and install package
- Clone wukong from github:
$ git clone https://github.com/BitTigerInst/wukong.git
- Go into wukong forlder and install node package:
cd wukong && npm install
- Run wukong:
node index
- Create a heroku account more to read
- Login heroku:
heroku login
- Inside wukong, create app on heroku:
heroku create
. In this case, heroku will create a random name for you as the frist part of url. i.e. "https://random-name.herokuapp.com". You could also specify a name:heroku create wukong-bittiger
, then the name will become the frist part of url. i.e. "https://wukong-bittiger.herokuapp.com". Notice: we already take the name "wukong-bittiger" as its offical name, so if you do command:heroku create wukong-bittiger
, you will encounter an error message "name already be taken". In this case, try other names. - Add mongoLab as add on:
heroku addons:create mongolab
. This add on need account verification, you need to set up a valid payment information, by default, mongolab will set up a free plan for you, no need to worry about any charges. More to read here and here - Push code to heroku:
git push heroku master
- Open it on your browser:
heroku open
More to be add here
More to be add here
MEAN is a framework for an easy starting point with MongoDB, Node.js, Express, and AngularJS based applications. It is designed to give you a quick and organized way to start developing MEAN based web apps with useful modules like Mongoose and Passport pre-bundled and configured. We mainly try to take care of the connection points between existing popular frameworks and solve common integration problems.
MEAN is an acronym for Mongo, Express.js , Angular.js and Node.js
- MongoDB
- Go through MongoDB Official Website and proceed to its Great Manual, which should help you understand NoSQL and MongoDB better.
- Express
- The best way to understand express is through its Official Website, particularly The Express Guide; you can also go through this StackOverflow thread for more resources.
- AngularJS
- Angular's Official Website is a great starting point. CodeSchool and google created a great tutorial for beginners, and the angular videos by Egghead.
- Node.js
- Start by going through Node.js Official Website and this StackOverflow thread, which should get you going with the Node.js platform in no time.
- Mongoose - The mongodb node.js driver in charge of providing elegant mongodb object modeling for node.js
- Passport - An authentication middleware for Node.js which supports authentication using a username and password, Facebook, Twitter, and more.
- Twitter Bootstrap - The most popular HTML, CSS, and JS framework for developing responsive, mobile first projects.
- UI Bootstrap - Bootstrap components written in pure AngularJS
Hosting MEAN on Heroku
Heroku is a fully managed container-based cloud platform, with integrated data services and a powerful ecosystem, for deploying and running modern apps. The Heroku developer experience is based on an app-centric approach to software delivery, and integrates with today’s most popular developer tools and workflows.
For more information about using Node.js on Heroku, see these Dev Center articles:
- Getting Started with Node.js on Heroku
- Heroku Node.js Support
- Node.js on Heroku
- Best Practices for Node.js Development
- Using WebSockets on Heroku with Node.js
- To our awesome core team with help of our contributors which have made this project a success.
- Valeri Karpov for coining the term mean and triggering the mean stack movement.
- Amos Haviv for the creation of the initial version of Mean.io while working for us @linnovate.
- Madhusudhan Srinivasa who inspired us with his great work.
We believe that mean should be free and easy to integrate within your existing projects so we chose The MIT License