I recently completed a web app and thought I’d share a little bit more information about it.
I’ve long been interested in dividend stocks and have used a tool in the past based on an Excel spreadsheet. I’ve turned this into a web app that can be dynamically updated with no need for spreadsheets, macros or manual setup. MVP is setup and working with more features and automation coming soon.
Check it out here: https://mydividendmeter.com/
This app was built with Angular, Firebase, Google Cloud Functions, and a MongoDB database.
The stock data is being retrieved from IEX Cloud’s freemium API at https://iexcloud.io/. this is a great service and allows beginners to get started with some basic API’s. If I get more traffic, I will definitely need to upgrade.
The Backend – Firebase
- Firebase Authentication – allows for users to signup with either their Google account or an email address.
- Cloud Firestore – Stores the users preferences and stock choices. Stock prices aren’t stored here, just the portfolio of the user in Collection. This includes Ticker Symbol and Stock Count. User Info includes things like Income Goal and subscription type.
- Google Cloud Functions – Used to retrieve custom stock data information from the MongoDB.
Note: This was an interesting part to me that I will hopefully write about in the future. I have a custom build process so that when I use the functions in my local dev environment, I access a local MongoDB. When I deploy to GCP, I use the cloud mongoDB Atlas instance. This switch happens automatically with the deploy so I don’t have to manually change any code.
The Frontend – Angular
- All pages and the menus are built using Angular. This includes the form input. Ng-Bootstrap is used for styling.
- Custom AuthGuard used to limit access to certain pages