Giter Club home page Giter Club logo

goldman-sachs-portfolio-manager's Introduction

Goldman Sachs Portfolio Analyzer

Contributors Forks Stargazers Issues MIT License


Goldman Sachs Portfolio Analyzer

A Fully Managed Portoflio Analyzer with secure account managemenet and permission control!

Table of Contents
  1. About The Project
  2. Getting Started
  3. License
  4. Contributors

About The Project

App Overview

This Portfolio Analzyer was built as a project with Goldman Sachs to allow Financial Analysts to create, analyze, and share investment portfolios.

Project Features

  1. User Registration and Login
  2. Password Validation
  3. Portfolio Creator and Editor
  4. Portfolio Analyzer for Standard Metrics
  5. Portfolio Interactive Charts
  6. User Entitlement Management
  7. Public Read-Only Portfolios
  8. Access Logs
  9. Secure Reset Password Flow

Built With

Key Libraries Used

  1. Spring Security
  2. Java Mail
  3. JWT Serializer
  4. Spring Data Mongo
  5. Jackson
  6. Lombok

(back to top)

Getting Started

To get a local copy up and running follow these simple example steps.

Prerequisites

Before you can run the application, you must have the following installed

  • Java 17 and Above
  • Maven and Spring Boot
  • Node
  • NPM

Caveats and Notes

  1. This project uses MongoDB, and will not run unless the proper Environment Variables have been loaded.
  2. This project uses Spring Mail and will not run unless the SPRING MAIL Environment Variables have been configured
  3. This Project consists of both a Frontend and Backend. The Frontend runs on http://localhost:3000 while the Backend runs on http://localhost:8080.

Installation

  1. Clone the repo
    git clone https://github.com/quinncheong/goldman-sachs-portfolio-manager.git

Running the Front End

  1. Change Directory to the Frontend (/frontend)
  2. Install NPM packages
    npm install
  3. Duplicate a copy of .env.local-example in the same directory, and rename it to .env.local.
  4. Run the Frontend
    npm run dev

Running the Back End

  1. Change Directory to the backend (/backend)
  2. Under backend/src/main/resources, duplicate a copy of .env-dev-example in the same directory and rename it to .env-dev.
  3. Fill in all the necessary details.
    1. MongoDB Details can be from when creating an Atlas Account.
    2. Spring Mail details can be found by creating a new GMAIL account to send out emails.
  4. Run the follow 2 scripts to compile and run the application.
./compile.bat
./run.bat
  1. If Step 4 does not work, you can run the backend directly with the command below
mvn spring-boot:run

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contributors

This project was built by the following contributors:

Ang Wei Sheng - Github
Bryan Lee - Github
Chester Chia - Github
Elijah Khor - Github
Japheth Leong - Github
Quinn Cheong - Github

(back to top)

goldman-sachs-portfolio-manager's People

Contributors

quinncheong avatar angweisheng avatar chesterchia avatar ekcm avatar japhethleongyh avatar bryanleezh avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.