Table of Contents
- Portfolio Creator and Editor
- Portfolio Analyzer for Standard Metrics
- Portfolio Optimiser for Risk and Return
- Portfolio Interactive Charts
- Portfolio Rules
- Porfolio Rules Logs
To get a local copy up and running, follow these simple steps.
Before you can run the application, you must have the following installed:
- Node
- NPM
- Python3
- This project uses MongoDB, and will not run unless the proper Environment Variables have been loaded.
- This Project consists of both a frontend and backend, as well at some microservices. The Frontend runs on http://localhost:3000 while the Backend runs on http://localhost:8000.
-
Clone the repo
git clone https://github.com/ekcm/fyp.git
-
Configure environment variables
- There are several environment files required for the application to run
- Duplicate copies of
.env-examplein the respective directives and rename it to.envcd frontend cd nestjs-backend cd python-backend cd python-backend/optimiser_service
- Fill in the required information
-
Running the entire application with Docker
docker-compose up
This will start the entire application, including the frontend, backend, and microservices.
- Change Directory to the Frontend (/frontend)
- Install NPM packages
npm install
- Duplicate a copy of
.env-examplein the same directory, and rename it to.env. - Run the Frontend
npm run dev
- The frontend can be accessed at:
http://localhost:3000/
-
Change Directory to the backend (/nestjs-backend)
-
Duplicate a copy of
.env-examplein the same directory and rename it to.env. -
Fill in all the necessary details.
- MongoDB Details can be from when creating an Atlas Account.
-
Run the following to compile and run the application.
npm run start
-
Documentation: To get an overview of all available APIs, head to:
http://localhost:8000/api
If you are not using docker-compose, you can run the python services individually.
cd python-backend/finance_news
docker build -t finance-news-service .
docker run -p 5004:5004 --env-file ../.env finance-news-servicecd python-backend/market_commentary
docker build -t market-commentary-service .
docker run -p 5003:5003 --env-file ../.env market-commentary-servicecd optimiser_service
docker build -t optimiser-service .
docker run -p 6969:6969 --env-file ../.env optimiser-servicecd python-backend/report_generator
docker build -t report-generator-service .
docker run -p 5002:5002 --env-file ../.env report-generator-servicecd python-backend/stock_service
docker build -t stock-service .
docker run -p 5001:5001 --env-file ../.env stock-service- Edit the .env file with the required environment variables according to the .env-example
- Run the stock data service to populate the database with stock data
- Start the other python services
- The frontend will connect to the python services and call them accordingly
- Run the services
- Open the docs in a browser using the following links
- Stock service: http://localhost:5001/docs
- Report Generator service: http://localhost:5002/docs
- Optimiser Service http://localhost:6969/apidocs
- Market Commentary service: http://localhost:5003/docs
- Finance News service: http://localhost:5004/docs
Distributed under the MIT License. See LICENSE.txt for more information.
This project was built by the following contributors:
Ang Wei Sheng - Github
Bryan Lee - Github
Chester Chia - Github
Elijah Khor - Github
Japheth Leong - Github
Klement Goh - Github





