Stonkers is a fully responsive stock tracking web application with the following features:
- Server-side authentication with JWT
- Looking up stock quotes by ticker
- Charting of stock prices with Charts.js
- News and financial data through the Finnhub API
- Adding and deleting stocks to a user's watchlist
- Storing user data on cloud-based database using MongoDB
The stock market and the world of investments is one that is gatekept by unnecessary noise and complexity by traditional incumbents. Many are afraid to take control over their financial situation because it all seems too complex and time consuming to learn and manage. Stonkers seek to provide beginners and new investor a simple to use interface to help them keep an eye on their investments.
Click here to see the live demo
Click here to see the presentation
Client: React.js, Sass, Axios, Charts.js, Material UI
Server: Express, Node.js, MongoDB, Mongoose, JWT
API: Finnhub
Add the following variables in client .ENV file
Client:
REACT_APP_API_URL=https://finnhub.io/api/v1
REACT_APP_API_KEY= enter your api key
REACT_APP_SERVER_URL=http://localhost:8080/user
REACT_APP_JWT_SECRET= enter your jwt secret
Server:
PORT = 8080
JWT_SECRET= enter your JWT secret
You can generate JWT secrets here
To run this project locally, follow these steps:
Clone the repository
$ git clone https://github.com/SimonMilord/Capstone-Project.git
Go into the server
$ cd capstone/server
Install server dependencies
$ npm install
Start the server
$ node index.js
Go into the client
$ cd ../client
Install server dependencies
$ npm install
Start the client
$ npm start
Given the time constraints, I had to prioritize my feature set. As I continue to develop the app, I would like to implement the following features:
- Holdings page to add a user's stocks
- Searching stocks by company name
- Loading states
- Extra validation for the signup page
This web app was designed and developed by Simon Milord.