Coder Social home page Coder Social logo

polyannoed's Introduction

Overview

The application is using MongoDB, NodeJS, and Express as its main building blocks. The overall commands and settings that need to be run is explained as follows.

Installation

Install the following application on your computer locally or on your server

  1. Node JS

    Make sure to install at least version 7.6 check with node -v

  2. NPM

    Make sure to install at least version 5 check with npm -v

  3. MongoDB

Clone the application

To get the recent version of the web app clone the project using the following command.

git clone https://github.com/UoEMainLibrary/PolyannoEd.git

Inside the downloaded folder run this following command to install the dependencies for the project.

npm install

Setting the environment variables

The project use variables.env file to setup basic setting that will be used on the whole application. Inside the project there is variables.env.example file that follow the basic setting, you can rename the file to variables.env and then configure it. The basic setting of the example file is as follow

NODE_ENV=development
DATABASE=mongodb://127.0.0.1:27017/PolyannoEd
PORT=7777
SECRET=secret_this
KEY=key_this

FB_APP_ID=xxxxx
FB_APP_SECRET=xxxxx
FB_CALLBACK_URL=http://localhost:7777/login/facebook/callback

TWITTER_CONSUMER_KEY=xxxxx
TWITTER_CONSUMER_SECRET=xxxxx
TWITTER_CALLBACK_URL=http://localhost:7777/login/twitter/callback

If you change any of this setting restart the application to see the effect of the changes. The settings definitions are as follows

  • NODE_ENV

    To enable development mode for the application change the NODE_ENV to development in environment.env. This will allow for a complete error stack traces on the application when the web crash.

    NODE_ENV=development

    To disable development mode for the application change the NODE_ENV to production in environment.env. This will turn off the error stack traces so that general user do not have access to the web stack traces error.

    NODE_ENV=production
  • DATABASE

    This setting will point to the MongoDB. Change the address 127.0.0.1 and port 27017 according to the running mongodb process, this is the default address and port. The PolyannoEd is the database that the application will use to store its data.

  • PORT

    Set this to any desired port that allowed in the server

  • SECRET and KEY

    This are variables to define the session for user. You can choose any word that you want.

  • FB_APP_ID and FB_APP_SECRET

    This are application number that you can get from the application instance in https://developers.facebook.com/

  • FB_CALLBACK_URL

    Set this with the URL which the application will be hosted. [IMPORTANT] also add this URL in the Facebook Login application

  • TWITTER_CONSUMER_KEY and TWITTER_CONSUMER_SECRET

    This are application number that you can get from the application instance in https://apps.twitter.com/

  • TWITTER_CALLBACK_URL

    Set this with the URL which the application will be hosted. [IMPORTANT] also add this URL in the Twitter application

Start the MongoDB

To run local version of MongoDB first create a folder where the database can store its data. This can be as simple as

~/MongoDB-Data

After you have a directory where you want to store the MongoDB database start the MongoDB Application using

mongod --dbpath=MongoDB-Data

Make sure that you are in the same directory as directory which you target. The --dbpath use a fullpath you cannot use the tilde ~ alias.

If you want to run the MongoDB database application in the background, you can use this command

nohup mongod --dbpath=MongoDB-Data &

Populate sample archives

If this is the first time the application run. You can run this command to populate the application with some sample archives and one admin user

npm run sample

If you want to run the sample again you must delete all data regarding archives and user using the following command

npm run delete-sample

Run the application

To run the web application use the following command

npm start

Run using forever

In Production server it is a best practice to use a process manager such as forever https://www.npmjs.com/package/forever. To use this manager we need to install it in global scope.

npm install forever -g

After the forever application installed run the web app using this command

forever start server.js

To see running application on forever use

forever list

To stop all of the running application on forever use

forever stopall

Refer to the forever documentation for more complete usage https://www.npmjs.com/package/forever.

polyannoed's People

Contributors

bluepigeons avatar indralukmana avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

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.