https://github.com/adamslack/stockbroker
Stockbroker SOA system, includes an API, Server, and Client.
https://github.com/adamslack/stockbroker
Last synced: 4 months ago
JSON representation
Stockbroker SOA system, includes an API, Server, and Client.
- Host: GitHub
- URL: https://github.com/adamslack/stockbroker
- Owner: AdamSlack
- License: mit
- Created: 2017-11-15T09:03:46.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2018-01-24T14:01:30.000Z (over 8 years ago)
- Last Synced: 2025-10-25T22:26:56.670Z (8 months ago)
- Language: TypeScript
- Size: 216 KB
- Stars: 1
- Watchers: 0
- Forks: 1
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Stockbroker System
A Stockbroker system developed for the completion of NTU Computer Science module: Service Oriented Architecture and Cloud Computing Coursework
## Components
The system consists of numerous services consumed into a single API and server. A client is implemented utilising the services made available by the api.
### Trading Block
The trading block is a Python service developed to provide a means of tracking what stocks are up for trade. It utilises an XML Schema and an XML database to track the details of what stocks are for sale.
A Server and RESTful API is built in Python to make the buying and selling of stocks available to other systems.
### Stockbroker
The Stockbroker is a Node.js service that primarily consumes other services to provide a complete system capable of allowing users to view realtime stock prices, as well as buy and sell stocks.
It consumes the [AlphaVantage](https://www.alphavantage.co/) realtime stock service to allow users of the stockbroker system to take up-to-date statistics into account when buying/selling stocks on the trading block.
The API links stock data to the semantic web through DBpedia. SPARQL queries are issued to retrieve company information for each stock.
The stockbroker system consumes the Python implemented Trading Block service to provide users the ability to buy and sell stocks.
The stockbroker provides clients access to the service through a REST API.
### Stockbroker Client
The client for the system is implemented as an Angular 4/5 web app. It serves as an example of some of the things that can be done using the Stockbroker Service.
### Currency Converter
The Currency Converter is a Java SOAP service that allows clients to request an amount in one currency to be converted to the equivalent amount in another currency. It has static conversion rates, supported by an consumed real-time currency conversion REST service.
## How To:
### Requirements
In order to utilise this system you will need `Python 3.x`, `Node.js 8.x`, `java 8` and `Angular/cli 5.x`
**Trading Block** additional Python libraries:
```
xmlschema
```
**Stockbroker** additional Node.js libraries:
```
express
cors
body-parser
```
The Stockbroker client requires the Angular Command Line Interface (Angular CLI). It can be installed though the node package manager npm by entering `npm install -g --save @angular/cli` into the command line.
### Running the system.
To run each element of the system, from the directory of each element enter the following into the command line:
**Trading Block:** `python tradingblock.py`
**Stockbroker:** `node server.js`
**Client App:** `ng serve`
**Currency Conversion**
To build from a unix command line:
```
cd CurrencyConverter/src/DOCwebServices
javac *.java
cd ..
javac CurrencyConverterPublisher.java
```
To run after building:
```
java CurrencyConverterPublisher
```