{"id":23243355,"url":"https://github.com/min-1870/indicators_everywhere","last_synced_at":"2026-05-12T07:41:34.143Z","repository":{"id":263547017,"uuid":"890742985","full_name":"min-1870/indicators_everywhere","owner":"min-1870","description":"This project aims to organize all these indicators in one place. Users don't need to understand how the indicators work—we'll provide clear explanations of the results and a summary for each indicator! indicators for their decisions. As a beginner, I wasn't","archived":false,"fork":false,"pushed_at":"2025-02-22T13:54:13.000Z","size":5165,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-22T14:28:26.064Z","etag":null,"topics":["aws","cloud","ec2","graph","indicator","pandas","python","stock","stock-market","website"],"latest_commit_sha":null,"homepage":"https://indicatorseverywhere.min1870.com","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/min-1870.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-19T05:18:22.000Z","updated_at":"2025-02-22T13:54:16.000Z","dependencies_parsed_at":"2025-02-12T05:37:05.604Z","dependency_job_id":"26e7f195-41a5-4b4b-a5ec-05d92e8df5d2","html_url":"https://github.com/min-1870/indicators_everywhere","commit_stats":null,"previous_names":["min-1870/indicators_everywhere"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/min-1870%2Findicators_everywhere","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/min-1870%2Findicators_everywhere/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/min-1870%2Findicators_everywhere/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/min-1870%2Findicators_everywhere/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/min-1870","download_url":"https://codeload.github.com/min-1870/indicators_everywhere/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247412497,"owners_count":20934870,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","cloud","ec2","graph","indicator","pandas","python","stock","stock-market","website"],"created_at":"2024-12-19T06:16:35.967Z","updated_at":"2026-05-12T07:41:29.124Z","avatar_url":"https://github.com/min-1870.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Indicators Everywhere\n\n# Project Demo\n\n![indicators-everywhere.gif](imgs/indicators-everywhere.gif)\n\n### 🔗[Link to Website](https://indicatorseverywhere.min1870.com/)\n\n### Contributors:\n\n- **Minseok Kim** (Developer) - [200134kms@gmail.com](mailto:200134kms@gmail.com)\n- **Wonjun Kim** (Designer) - [alphamagnum02@gmail.com](mailto:alphamagnum02@gmail.com)\n\n# **Problem Statement**\n\nMany stock-related platforms provide excellent APIs to work with. I wanted to integrate my computing skills with these APIs to create useful data that helps beginners in the trading market, just like myself! While studying trading systems for this project, I discovered that traders use various indicators for their decisions. As a beginner, I wasn't sure which indicators were credible. This project aims to organize all these indicators in one place. Users don't need to understand how the indicators work—we'll provide clear explanations of the results and a summary for each indicator!\n\n# Tech Stack\n\n- **Cloud Infrastructure**\n    - **S3 Bucket**\n        - Storing graphs and static assets for the web site.\n    - **EC2 Instance**\n        - Hosting the Web Server, Frontend, Backend.\n- **Web Server**\n    - **Nginx**\n        - Reverse Proxying between clients and backend servers.\n        - Encrypting and decrypting traffic using HTTPS.\n- **Frontend**\n    - **HTML \u0026 CSS \u0026 JavaScript**\n        - Markup and Styling for web page.\n- **Backend**\n    - **Flask**\n        - Building the API logic for the server.\n    - **Gunicorn**\n        - Handles multiple concurrent requests.\n    - **Yahoo Finance**\n        - Fetch real-time and historical financial data.\n    - **Pandas \u0026 Matplotlib**\n        - Data manipulation and analysis.\n        \n\n# System Architecture Overview\n\nThe following diagrams illustrate the end-to-end flow of our stock analysis system, from client requests through data processing to response delivery.\n\n![Blank diagram.png](imgs/Blank_diagram.png)\n\n# Implementation Details\n\n### 1. Receiving request from a client\n\nUsers can access our web interface, hosted on an EC2 instance and served through Nginx, to request comprehensive stock analysis for any US ticker. The request routes through DNS (`indicatorseverywhere.min1870.com/api/~`) and reaches the API server via the EC2 instance's Elastic IP.\n\n![image.png](imgs/image.png)\n\n### 2. Calculating necessary indicators\n\nBased on the request data, the server fetches historical financial data from Yahoo Finance. To optimize performance and resource utilization, the data retrieval is limited to a specific time frame.\n\n![image.png](imgs/image%201.png)\n\nFollowing data collection, the system performs comprehensive analysis of the available indicators, computing their  values and detecting signal triggers within the specified time frame.\n\n![image.png](imgs/image%202.png)\n\nThe system send the computed signals, corresponding dates, and graph URLs to another function for comprehensive signal analysis. Subsequently, the graphs are stored temporarily in the instance's local storage before being uploaded to the S3 bucket via the `boto3`.\n\n![image.png](imgs/image%203.png)\n\n### 3. Analyse overall signals based on signals\n\nThe gathered data is analysed to produce a comprehensive summary of all indicators. Subsequently, the system restructures the output format, incorporating essential elements such as titles, detailed descriptions, and relevant URLs to formulate a well-organized response.\n\n![image.png](imgs/image%204.png)\n\n### 4. Return the analysis to the client\n\nThe final analysis results, including graphs, descriptions, and signal summaries, are sent back to the client through the API. The response is structured in a JSON format.\n\n![image.png](imgs/image%205.png)\n\n# Future Scope\n\n- [ ]  Applying caching system\n- [ ]  Adding more indicators in the world!","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmin-1870%2Findicators_everywhere","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmin-1870%2Findicators_everywhere","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmin-1870%2Findicators_everywhere/lists"}