Skip to content

leevilehtonen/stockfolio-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status Dependency Status License: MIT

Node web app for managing your stock portfolio (server)

  • Live demo - Live demo username: tester, password: 123456
  • API - REST API docs, information abouts server routes (in progress)
  • Hours - Working hours at Google Sheets

NOTE: As Yahoo updated their finance API to v10, there is currently some issues retrieving the data, Stockfolio is depending on yahoo-finance as data provider and people are working to get the module functional.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Prerequisites

What things you need to install the software and how to install them

  • Node.js - Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.
  • MongoDB - MongoDB is an open-source, document database designed for ease of development and scaling.

Installing

A step by step series of examples that tell you have to get a development env running

git clone https://github.com/leevilehtonen/stockfolio-server.git //or with ssh
cd stockfolio-server
npm install
npm run server // runs project using nodemon for easy development
npm start // creates production build and runs it

Running the tests

npm install
npm test

Deployment

For building production ready server:

npm install
npm run build 

For building and running production ready server:

npm install
npm start 

If you want to deliver your own copy of stockfolio, it's very easy to serve at Heroku

Built With

Dependencies

  • babel-cli: Babel command line.
  • babel-preset-env: A Babel preset for each environment.
  • babel-register: babel require hook
  • bcryptjs: Optimized bcrypt in plain JavaScript with zero dependencies. Compatible to 'bcrypt'.
  • bluebird: Full featured Promises/A+ implementation with exceptionally good performance
  • body-parser: Node.js body parsing middleware
  • cookie-parser: cookie parsing with signatures
  • cors: Node.js CORS middleware
  • csurf: CSRF token middleware
  • express: Fast, unopinionated, minimalist web framework
  • helmet: help secure Express/Connect apps with various HTTP headers
  • jsonwebtoken: JSON Web Token implementation (symmetric and asymmetric)
  • mongoose: Mongoose MongoDB ODM
  • mongoose-unique-validator: mongoose-unique-validator is a plugin which adds pre-save validation for unique fields within a Mongoose schema.
  • passport: Simple, unobtrusive authentication for Node.js.
  • passport-jwt: Passport authentication strategy using JSON Web Tokens
  • request: Simplified HTTP request client.
  • request-promise: The simplified HTTP request client 'request' with Promise support. Powered by Bluebird.
  • yahoo-finance: Yahoo Finance historical quotes and snapshot data downloader written in Node.js

Dev Dependencies

  • mocha: simple, flexible, fun test framework
  • nodemon: Simple monitor script for use during development of a node.js app.
  • should: test framework agnostic BDD-style assertions
  • supertest: SuperAgent driven library for testing HTTP servers

Contributing

Make merge ready PR or contact me with feature suggestions.

Authors

See also the list of contributors who participated in this project.

License

This project is licensed under the MIT License - see the LICENSE file for details

Acknowledgments