The main goal of the observer project is to aggregate data (posts and mentions) gathered from social media accounts specified by the user, so that he doesn't need to check several platforms to keep up with the latest news and messages. The expected behavior of the final project's version is to display data gathered for the user on a single time line where messages coming from different sources are mixed and ordered chronologically. It's a completely non-profit project and should be treated as a playground where fancy technologies, libraries and solutions can be used.
The observer-backend
repository is the first part of the project and is responsible for fetching data from social media services.
Visit our wiki page to get slightly bigger picture of project's architecture.
Go to Trello.
In order to run the project following services must be installed:
Once they are available on your environment run following commands:
npm install #installs projects dependencies
npm run migratedb #prepares db schema
nf start #uses foreman to start the app and run required services
Before you run the last command please install node-foreman module globally. The second step requires db user's credentials to be defined in project's configuration. See Configuration section.
Default configuration parameters are stored in the global.json file. Please note that they can be overriden by environmental variables. The list of the environmental variables used by the app should be included in a git-ignored .env
file. The file will be automatically loaded by node-foreman once you run the app with nf start
command.
Travis CI builds the project by running tests, linter and test coverage utilities whose results are passed to Coveralls.
make test
- runs all the tests,make test-single test=<phrase>
- runs all the test cases containing a given phrase (handy when running individual test),make test-single-debug test=<phrase>
- works as the previous command, but runs the tests in the debug mode.
Used tools:
- test runner: mocha.js,
- assertions: chai.js,
- stubbing: sinon.js, proxyquire,
- test coverage: instanbul.
MIT
Dominik Michalski d.m.michalski@gmail.com
Joanna Kaczmar asia.kaczmar@gmail.com