Skip to content
This repository has been archived by the owner on Dec 15, 2022. It is now read-only.

feedhenry-templates/welcome-cloud

Repository files navigation

FeedHenry Welcome Cloud App

Dependency Status

Cloud template app for the Welcome project. It listens for FeedHenry SDK cloud calls, stores data using MongoDB and provides location based weather data using a third party API.

Build

npm install

Weather data setup

In order to use the location based weather functionality within the app you will need a valid API key for the worldweatheronline.com service. An API key can be acquired here.

When you have a valid API key, add it to lib/weather.js:

// PLEASE ADD YOUR OWN API_KEY FOR http://developer.worldweatheronline.com
var API_KEY = "yourNewKey";

Run locally

Setup MongoDB

In order to run the Welcome server locally you'll need to have MongoDB installed and running on your local machine.

Start MongoDB server with:

mongod

By default, the Welcome server will try to access MongoDB on port 27017, if you are running MongoDB on a different port you should set the FH_MONGODB_CONN_URL environment variable to the MongoDB connection URL.

Setup Redis

In order to run the Welcome server locally you'll need to have Redis installed and running on your local machine.

Start Redis server with:

redis-server /usr/local/etc/redis.conf

Start the server

grunt serve

The Welcome server will be availble at localhost:8001.

If you wish to run the server on a different port you should set the FH_PORT environment variable to the port you want the server to run on.

Development

See Cloud Development page about how to develop cloud app.

Tests

All the tests are in the "test/" directory. The cloud app is using mocha as the test runner.

To run:

  • all the tests:

With MongoDB and Redis running

npm test
  • unit tests:
npm run unit
  • acceptance tests:

With MongoDB and Redis running

npm run accept
  • coverage report:
npm run coverage
  • coverage report for unit tests:
npm run coverage-unit
  • coverage report for acceptance tests:
npm run coverage-accept

Source code analysis

To get Plato's JavaScript source code visualization, static analysis, and complexity report:

npm run analysis