This Market Summary Does Not Exist is a platform delivering you a summary of financial market activity for the given date. Think of it as the better version of CNBC reports - we deliver you the best experience of checking the market status with the machine learning generated summaries.
This Market Summary Does Not Exist was originally developed by a team of developers at Lambda School.
- Demo
- Contributors
- Technologies used and dependencies
- Installation
- Contribution guidelines
- Endpoints description
- Environmental variables
- License
Check out the demo of our backend/API here: DEMO.
Thanks goes to these wonderful people:
This project follows the all-contributors specification. Contributions of any kind welcome!
- JavaScript (ECMAScript 6+)
- Express.js
- Knex
- PostgreSQL DB
- Redis
- jsonwebtoken
- Axios
- Jest
- Supertest
- axios 0.18.0
- bcryptjs 2.4.3
- cors 2.8.5
- dotenv 7.0.0
- express 4.16.4
- helmet 3.16.0
- jsonwebtoken 8.5.1
- knex 0.16.5
- morgan 1.9.1
- pg 7.9.0
- redis 2.8.0
- sqlite3 4.0.6
- cross-env
- jest 24.7.1
- nodemon 1.18.11
- supertest 4.0.2
The easiest way to get this web page up and running is to use Heroku.
- Fork the repository.
- Set up an account at Heroku (or log in if you already have an account).
- Click "New" and choose "Create new app".
- Enter your App's name and choose the region
- Connect your Github account to Heroku using the button under the Deployment method section.
- Select the forked repository.
- Add the appropriate plugins (Heroku Postgres and Heroku Redis).
- Set up the environmental variables.
- You are all set!
So, you want to contribute to this repository? You may contribute in several ways:
- Create new features
- Fix bugs
- Improve documentation and examples
- Translate any document here to your language
- Contributing to This Market Summary Does Not Exist
- Developing This Market Summary Does Not Exist
- Reporting a bug
- Request a feature
- Commit messages
- Code style
//////////### Developing This Market Summary Does Not Exist
There are several source files in the project. The main JS file is index.js that imports /src/server.js. You can use yarn
as your dependency manager (of course you need to install it first).
Use the GitHub issue tracker to report any bug you find.
Bug description should include:
- How to reproduce the bug;
- Concise and relevant title;
It would be nice to have some code showing how to reproduce the bug - you can use gist or CodePen for uploading your code.
Use the GitHub issue tracker to request a new feature.
Keep in mind that This Market Summary Does Not Exist
intends to be a simple-yet-effective application.
Feel free to rewrite it using your favorite language with the framework or library of your choice (e.g. using Python with Django, Golang or Scala with Akka) in the forked repository.
Commit messages should includes a GitHub reference number and an easy to understand sentence describing the work you did.
Feel free to use the newest ECMAScript features. ES2015, ES2017, ES2018...they are all more than welcome. When adding new things, be sure to link them correctly and add the appropriate scripts if needed (e.g. babel).
Overview
Used to register a user and ensure that user information will be saved in the server.
Inputs
Javascript object with:
- username (string) - username needs to be unique
- password (string) - password will be hashed
Success Outputs
Javascript object with:
- success message (string)
Failure Outputs
Javascript object with:
- failure message (string)
Overview
Used to log in and get authentication for accessing the main functionalities of the React app.
Inputs
Javascript object with:
- username (string)
- password (string)
Success Outputs
Javascript object with:
- token (string) - used for accessing restricted endpoints.
Failure Outputs
Javascript object with:
- failure message (string)
This endpoint is restricted to logged in users.
Overview
Route is used for to receive information about authenticated user.
Inputs
Header:
- token(string)
Success Outputs
Javascript object with the:
- username (string)
- id (number)
Failure Outputs
Javascript object with:
- failure message (string)
This endpoint is restricted to logged in users.
Overview
Route is used for to update authenticated user's information.
Inputs
Header:
- token(string)
Javascript object with:
- username (string)
- password (string)
Success Outputs
Javascript object with:
- success message (string)
Failure Outputs
Javascript object with:
- failure message (string)
This endpoint is restricted to logged in users.
Overview
Route is used to delete authenticated user's information.
Inputs
Header:
- token(string)
Success Outputs
Javascript object with:
- success message (string)
Failure Outputs
Javascript object with:
- failure message (string)
This endpoint is restricted to logged in users.
Overview
Route is used to fetch the article for specific date by authenticated user.
Inputs
Header:
- token (string)
Javascript object with:
- date (string)
Success Outputs
Javascript object with:
- article (object) with date (string), text (string), graph_url (string)
Failure Outputs
Javascript object with:
- failure message (string)
Remember to set up the required environmental variables, especially when deploying on Heroku.
SECRET_KEY
to the secret key of your choiceAPP_ENV
to productionDS_API_URL
to the URL of endpoint delivering articlesREDIS_URL
to the URL (with port) of Redis. The URL should look like this:redis://127.0.0.1:6379