Skip to content
This repository has been archived by the owner on Oct 6, 2021. It is now read-only.

Latest commit

 

History

History
51 lines (42 loc) · 3.17 KB

README.md

File metadata and controls

51 lines (42 loc) · 3.17 KB

StoryGenerator - CBGA India's Budget Analysis Tool

Branch Build Coverage
Development Build Status development Coverage Status
Master Build Status Coverage Status
Production Build Status Coverage Status

Getting Started

Prerequisites

  • NodeJS (v4.4.3) (prefer using nodenv or nvm to switch node versions)
  • Make & GNU Base Utilities to run server, release and deploy scripts

Tech Stack

  • Frontend (serves the dashboard on github pages)
    • Browserify + BabelJS - to compose app
    • ReactJS - modularize app in components and act as bare-bones web framework
    • Jest - testing framework for frontend
  • Backend (serves the tooling for data transformation ./bin/transform)
    • NodeJS + CSVParser - parses csv to json for better bucketing
    • Mocha - testing framework for backend

Development Setup:

  • make shrinkwrap (for OSX) or make npm (for Linux) to install project dependencies
  • make tests Run combined tests (backend + frontend)
    • For frontend tests, run npm run assets-tests
    • For backend tests, run npm run tests
  • make coverage Run combined tests with coverage (backend + frontend)
    • For frontend tests, run npm run assets-coverage
    • For backend tests, run npm run coverage
  • make run to run project on default server localhost on port 4001 link

Building

  • make local-release to release locally & run it using ./bin/server
  • make deploy to do a production release directly on github-pages (make sure to run it from production branch)

Contributing

  • Fork and submit pull requests (standard GitHub OSS house rules)
  • We follow Airbnb JavaScript Style Guide. Please run make lint locally before submitting a pull request and make sure that there are no warnings or errors.
  • Thats it. Happy Hacking!

Contributors

PS: We always try hard to improve this documentation. If you have any suggestions or contributions, please let us know.