u1i / investsavvy

Investsavvy - A sample financial website that provides users with insights into their financial risk profiles and suggests suitable financial products for investment, allowing them to manage their watchlists

Home Page:https://investsavvy.onrender.com/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

InvestSavvy

CI/CD Workflow

Project Description

A sample financial website that provides users with insights into their financial risk profiles and suggeste suitable financial products for investment, allowing them to manage their watchlists

Project Website

Demo the project website at https://investsavvy.onrender.com/.

Note: Login authentication has been disabled, type out any username/password to access. The backend server will spin down with inactivity, please expect around ~50sec for the server to boot up while visiting the website the first time.

External Applications Used

Frontend website and Backend server deployed using Render
Database hosted at Aiven for MySQL

Frontend Website

  • Landing Page - Main site to highlight the purpose and functionality of the website
  • Account Login/registration - To be integrated with Auth0
  • User Dashboard - for users to have an overview of their account
  • Risk Assessment - Risk profile assessment to understand user’s investment background
  • Historical Stock Data - A chart to showcase the past performance of stocks
  • Watchlist - Page where user can create their own watchlist selection

More details in FrontEnd Documentation.

API Specifications

More details in API Documentation.

Backend Server

Node.js is used to create a web server listening for HTTP requests as per the defined API specification. It is connected to an externally hosted SQL database.

Database

Aiven for MySQL is used to host the database. Database structure and more details in Database Documentation.

[To-Do] Features List

  • External Financial API
  • Auth0 integration
  • Subcription plan and payment method like Stripe

CI/CD WorkFlow

CI/CD Workflow

GitHub Actions is used to trigger an automated workflow for the backend, this involves:

  • containerizing the backend server into a docker image
  • testing its API functionalities through automated unit testing, and
  • deploying the server if everything works.

More details in CI/CD Documentation.

Directory Structure

  • /public/frontend: Contains the source code for the website
  • /backend: Contains the source code for the backend server
  • /docs: All additional documentation

About

Investsavvy - A sample financial website that provides users with insights into their financial risk profiles and suggests suitable financial products for investment, allowing them to manage their watchlists

https://investsavvy.onrender.com/


Languages

Language:HTML 64.4%Language:CSS 28.8%Language:SCSS 3.5%Language:JavaScript 3.3%Language:Dockerfile 0.1%