FilicMia / v4-resitev

Solution of the v4 assignment of SP course

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Quick start

Download the source code

~/workspace $ git clone <URL-to-repo>
~/workspace $ cd <repo>

~/workspace/v4-resitev (master) $ npm install //set express app  

Cerate the local database

Requirements

$ sudo apt-get remove mongodb-org mongodb-org-server
$ sudo apt-get autoremove
$ sudo rm -rf /usr/bin/mongo*
$ sudo rm /etc/apt/sources.list.d/mongodb*.list
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5
$ echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.6 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list
$ sudo apt-get update
$ sudo apt-get install mongodb-org mongodb-org-server
$ sudo touch /etc/init.d/mongod
$ sudo apt-get install mongodb-org-server

Create local serving system

~/workspace/v4-resitev (master) $ cd ~/workspace
~/workspace $ mkdir mongodb
~/workspace $ cd mongodb

~/workspace/mongodb $ mkdir data
~/workspace/mongodb $ echo 'mongod --bind_ip=$IP --dbpath=data --nojournal "$@"' > mongod
~/workspace/mongodb $ chmod a+x mongod

Host local database

~/workspace/mongodb $ ./mongod

Import the data into the database

Do this in new terminal. You need to leave the database to be served to access it.

$ mongoimport --db Comments --collection Comments --mode upsert --upsertFields name --jsonArray --file ~/workspace/v4-resitev/app_server/models/comments-mongodb.json

Start the app

~/workspace (master) $ cd ~/workspace/v4-resitev
~/workspace/v4-resitev (master) $ npm start

Host on Heroku (by your account)

$ curl https://cli-assets.heroku.com/install.sh | sh
$ sudo ln -s /usr/local/bin/heroku /usr/bin/heroku
$ heroku login -i
$ cd ~/workspace/v4-resitev
~/workspace/v4-resitev (master) $ heroku create
~/workspace/v4-resitev (master) $ git push heroku master
~/workspace/v4-resitev (master) $ heroku config:set MLAB_URI=mongodb://{user}:{pass}@dsX{koda-mLab-baze}.mlab.com:{koda-mLab-baze}/{database-name}
~/workspace/v4-resitev (master) $ heroku config:set NODE_ENV=production

Note that the collections' names of the local and mLabl database MUST match complitely (case as well)! The database names can differ.

About

Solution of the v4 assignment of SP course


Languages

Language:JavaScript 55.9%Language:CSS 25.6%Language:HTML 18.4%