shaninalex / financial-analyzer Goto Github PK
View Code? Open in Web Editor NEWGet company info by stock symbol.
License: MIT License
Get company info by stock symbol.
License: MIT License
Run all tests in project:
go test ./... -v
Describe requests/response payloads in a collection of interfaces.
Trying not to reinvent the wheel and simply connect already existing user management service.
Replace to something else that just wokrs without console errors:
Warning: /home/alex/projects/financial-analyzer/frontend/node_modules/angular-highcharts/fesm2022/angular-highcharts.mjs depends on 'highcharts'. CommonJS or AMD dependencies can cause optimization bailouts.
For more info see: https://angular.io/guide/build#configuring-commonjs-dependencies
Warning: /home/alex/projects/financial-analyzer/frontend/node_modules/angular-highcharts/fesm2022/angular-highcharts.mjs depends on 'highcharts/highcharts-gantt'. CommonJS or AMD dependencies can cause optimization bailouts.
For more info see: https://angular.io/guide/build#configuring-commonjs-dependencies
Warning: /home/alex/projects/financial-analyzer/frontend/node_modules/angular-highcharts/fesm2022/angular-highcharts.mjs depends on 'highcharts/highmaps'. CommonJS or AMD dependencies can cause optimization bailouts.
For more info see: https://angular.io/guide/build#configuring-commonjs-dependencies
Warning: /home/alex/projects/financial-analyzer/frontend/node_modules/angular-highcharts/fesm2022/angular-highcharts.mjs depends on 'highcharts/highstock'. CommonJS or AMD dependencies can cause optimization bailouts.
For more info see: https://angular.io/guide/build#configuring-commonjs-dependencies
Also it should be something much simpler. In this project we need render only line charts.
Creating report has multiple stages and we can't just increment user report count just by 1 request. The stages are:
So only if we deliver to client ALL requested data - we can increment user report count.
We can use "flow" approach like in kratos. Report flow should be initialized when user submit "ticker" form. Next this flow will be updated by report id on every step. The flow can be like this:
To not distarb real API. Also:
Too complex template.
I want to try remove kratos-selfservice-ui-node
service from infrastructure since it does not following main design and templates are not very customizeble. First step is to create login page.
It will allow to make cross schema JOINs and other usefull staff.
This request return this kind of values:
{
"Meta Data": {
"1. Information": "Monthly Prices (open, high, low, close) and Volumes",
"2. Symbol": "IBM",
"3. Last Refreshed": "2023-06-07",
"4. Time Zone": "US/Eastern"
},
"Monthly Time Series": {
"2023-06-07": {
"1. open": "128.4400",
"2. high": "134.4400",
"3. low": "127.7800",
"4. close": "134.3800",
"5. volume": "22575373"
},
"2023-05-31": {
"1. open": "126.3500",
"2. high": "130.0699",
"3. low": "120.5500",
"4. close": "128.5900",
"5. volume": "95710890"
}
}
Which is difficult to transform into golang structure.
This is required here: https://github.com/shaninalex/financial-analyzer/blob/4-define-datasources/internal/datasource/service_alphavantage.go#L103
User can return to report and can ask to generate pdf version. Steps:
NOTE: Link sharing and advanced permissions will be in the next milestones.
when user create report - by default it is accessable only for owner. But user can share it for some one by email or make it accessable for all with the link. To do this I plan to use Ory Keto
The idea behind this task is to move all declaration code from services into separate script ( simular to kratos migration container ).
I allready start to do this here: 4493fd4
But it will be great to continue in separate branch.
Manager service is basically requests router. Because it should parse requests from frontend and "understand" which service responsible for particular request.
Also router should store users WS connections to be able to receive messages from "notification" service and send it to particular user. Or broadcast it to all users.
To reseach: if we have tons of user connections, how we manage them all? How we can actualy store them and get it not only from application memory, but from some kind of connections storage?
Ability to test without real api calls to datasources
Success state:
{
"id": "e85b3eff-0144-4cdc-916c-9d9d097ff226",
"type": "browser",
"expires_at": "2023-11-18T19:41:26.266705Z",
"issued_at": "2023-11-18T18:41:26.266705Z",
"request_url": "http://kratos:4433/self-service/registration/browser?return_to=",
"active": "code",
"ui": {
"action": "http://127.0.0.1:4200/app",
"method": "GET",
"nodes": [
{
"type": "input",
"group": "default",
"attributes": {
"name": "csrf_token",
"type": "hidden",
"value": "Rc3RFKyWSQC/o46f+XHZui7J1eBFOnIaFcSCKLZbEWTWEr+K2pnObFa8C/hsI4/mWrG/wC3BR7jolww4QPcmaw==",
"required": true,
"disabled": false,
"node_type": "input"
},
"messages": [],
"meta": {}
},
{
"type": "a",
"group": "code",
"attributes": {
"href": "http://127.0.0.1:4200/app",
"title": {
"id": 1070009,
"text": "Continue",
"type": "info"
},
"id": "continue",
"node_type": "a"
},
"messages": [],
"meta": {
"label": {
"id": 1070009,
"text": "Continue",
"type": "info"
}
}
}
],
"messages": [
{
"id": 1080002,
"text": "You successfully verified your email address.",
"type": "success"
}
]
},
"state": "passed_challenge"
}
Read the docs: https://www.rabbitmq.com/rabbitmqctl.8.html
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.