004.2.截至目前為止做了哪些事?

更新於 2024/11/28閱讀時間約 7 分鐘
  • 文內如有投資理財相關經驗、知識、資訊等內容,皆為創作者個人分享行為。
  • 有價證券、指數與衍生性商品之數據資料,僅供輔助說明之用,不代表創作者投資決策之推介及建議。
  • 閱讀同時,請審慎思考自身條件及自我決策,並應有為決策負責之事前認知。
  • 方格子希望您能從這些分享內容汲取投資養份,養成獨立思考的能力、判斷、行動,成就最適合您的投資理財模式。

目前為止的程式架構,根據目前的需求和功能,這個架構涵蓋了 後端 API資料庫設計、以及 前端靜態頁面


程式架構

bash
複製程式碼project/

├── backend/ # 後端服務,負責提供 API
│ ├── app.py # Flask 主程式,處理數據庫連接與 API
│ ├── requirements.txt # 後端依賴列表

├── frontend/ # 前端靜態頁面
│ ├── index.html # 主頁面,顯示數據表格
│ ├── app.js # JavaScript,負責與後端 API 通信
│ ├── styles.css # 頁面樣式文件

├── sql/ # 資料庫相關 SQL 文件
│ ├── create_twse_table.sql # 建立 twse_listed_companies 表
│ ├── create_financial_reports.sql # 建立 financial_reports 表

├── README.md # 說明文件,指導用戶如何使用本專案
├── .gitignore # 忽略文件,例如虛擬環境和中間文件

檔案詳情

1. backend/

  • app.py
    • 提供以下 API:
      • /api/companies:返回 twse_listed_companies 表中的靜態公司數據。
      • /api/company_financials:返回兩個表的聯合數據,包括公司名稱、財務指標等。
    • 通過 SQLAlchemy 與資料庫進行交互。
    • 包含錯誤處理和數據返回邏輯。
  • requirements.txt
    • 後端依賴列表,包括:
      php複製程式碼flask
      sqlalchemy
      pandas
      psycopg2-binary
      flask-cors

2. frontend/

  • index.html
    • 簡單的 HTML 頁面,顯示表格數據。
    • 使用 <table> 元素,動態填充數據。
  • app.js
    • 通過 fetch 方法請求後端 API。
    • 將 API 返回的 JSON 數據插入到 HTML 表格中。
    • 包含錯誤處理(例如 API 請求失敗時的提示)。
  • styles.css
    • 美化表格的樣式,包括邊框、字體、背景色等。
    • 簡單的頁面佈局。

3. sql/

  • create_twse_table.sql
    • 定義靜態公司數據表:
      sql複製程式碼CREATE TABLE twse_listed_companies (
      stock_id VARCHAR(10) PRIMARY KEY,
      company_name VARCHAR(255),
      company_short_name VARCHAR(100),
      paid_in_capital BIGINT,
      industry VARCHAR(100),
      address TEXT,
      website VARCHAR(255),
      created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
      );
  • create_financial_reports.sql
    • 定義公司財務報表數據表:
      sql複製程式碼CREATE TABLE financial_reports (
      report_date DATE,
      year VARCHAR(4),
      quarter VARCHAR(10),
      stock_id VARCHAR(10) PRIMARY KEY,
      company_name VARCHAR(255),
      revenue_million NUMERIC(20, 2),
      gross_margin_percent NUMERIC(10, 2),
      operating_profit_margin_percent NUMERIC(10, 2),
      pretax_profit_margin_percent NUMERIC(10, 2),
      net_profit_margin_percent NUMERIC(10, 2),
      created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
      );

4. README.md

  • 說明如何配置環境並運行應用,包括:
    • 安裝 Python 依賴。
    • 建立資料庫表格。
    • 啟動 Flask 後端。
    • 打開靜態頁面查看數據。

程式功能簡述

模組功能

後端

- 從資料庫中提取靜態公司數據和動態財務數據。


- 提供 API(/api/companies, /api/company_financials)給前端使用。

資料庫

- 儲存公司靜態數據(如公司名稱、產業別)。


- 儲存公司財務數據(如營業收入、毛利率等)。

前端

- 靜態頁面顯示公司數據,通過表格方式呈現。


- 使用 JavaScript 請求 API 並填充表格數據。


下一步建議

  1. 擴展功能
    • 在網頁中加入搜尋和篩選功能。
    • 添加更多的 API,如按年度或產業類別查詢數據。
  2. 測試與優化
    • 為後端 API 添加單元測試,驗證數據正確性。
    • 優化資料庫索引設計,加速聯合查詢。
  3. 部署
    • 使用 Docker 容器化應用,包括前端、後端和資料庫。
    • 部署至雲服務,例如 AWS 或 Heroku。

這樣的架構清晰且具擴展性,能滿足當前需求,也為後續升級提供了良好的基礎。

avatar-img
3會員
28內容數
人生online之資本市場大作戰
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
微嗑多的沙龍 的其他內容
先說這一篇不是要教怎麼解讀,純粹發牢騷。想看解讀的方法可以回到上一頁了。
剛剛看了一下有哪些資訊要加進資料庫,看起來財務報表蠻適合的,這樣可以將兩個表格整理在網頁資訊內。就請GPT解析JSON並且上工寫程式。
白話一點的意思是:「從公開的資料(API),抓下來放在自己的資料庫(PostgresDB),然後再用網頁(Web.app)的方式呈現出來」
起心動念是因為自己有一套投資邏輯(適用小資產等級,約100萬到200萬的投資級距),每季根據財報分析後,得到8-10隻上市櫃股票,每一隻都要進行基本面的事實查核,然後再看基本面的狀況。覺得這一套邏輯如果一直都是python/Excel/web搜尋/手抄紀錄,感覺真的很麻煩啊。
這個002步驟完成了,接下來我想要有個簡單的網頁可以去找到這資料庫裡的靜態資料。
第一步:建立核心資料庫和數據收集流程
先說這一篇不是要教怎麼解讀,純粹發牢騷。想看解讀的方法可以回到上一頁了。
剛剛看了一下有哪些資訊要加進資料庫,看起來財務報表蠻適合的,這樣可以將兩個表格整理在網頁資訊內。就請GPT解析JSON並且上工寫程式。
白話一點的意思是:「從公開的資料(API),抓下來放在自己的資料庫(PostgresDB),然後再用網頁(Web.app)的方式呈現出來」
起心動念是因為自己有一套投資邏輯(適用小資產等級,約100萬到200萬的投資級距),每季根據財報分析後,得到8-10隻上市櫃股票,每一隻都要進行基本面的事實查核,然後再看基本面的狀況。覺得這一套邏輯如果一直都是python/Excel/web搜尋/手抄紀錄,感覺真的很麻煩啊。
這個002步驟完成了,接下來我想要有個簡單的網頁可以去找到這資料庫裡的靜態資料。
第一步:建立核心資料庫和數據收集流程
你可能也想看
Google News 追蹤
Thumbnail
本文探討了複利效應的重要性,並藉由巴菲特的投資理念,說明如何選擇穩定產生正報酬的資產及長期持有的核心理念。透過定期定額的投資方式,不僅能減少情緒影響,還能持續參與全球股市的發展。此外,文中介紹了使用國泰 Cube App 的便利性及低手續費,幫助投資者簡化投資流程,達成長期穩定增長的財務目標。
Thumbnail
這篇文章介紹了網站的整體架構以及開發時所使用的工具和套件,包括 Next.js、Tailwind CSS 和 socket.io 等。文章回顧了程式碼的重構與優化,幫助開發者提高工作效率,適合希望深入瞭解前端開發和網站架構的讀者。
Thumbnail
※ 什麼是Web API API 就是後端開出來讓前端來用的介面,讓前端與後端可以溝通。 API流程: 終端使用者用任何一種裝置進入瀏覽器。 瀏覽器透過 API 向後端發出請求,請求查詢或修改資料。 後端透過 API 收到前端的請求後,取得資料並回應給前端。 前端渲染畫面,終端使用者
Thumbnail
※ 原本狀態:伺服器渲染 這是 MVC 架構下的 request / response 示意圖,在這張圖呈現的架構裡,畫面和資料都由同一個架構處理。 伺服器渲染流程: 瀏覽器針對特定網址送出請求。 路由器解析請求後,轉接給對應的 controller。 controller 按照要求,透過
Thumbnail
你好,在下最近在學習開發web,學了html css js,也得出一些心得,由於網路上已有許多教學,所以我會著重在如何開發出to do List,以及解釋我寫的程式碼。相關的教學我會直接貼網址。如果我有什麼地方出錯,或者是可以寫得更好,歡迎在下方留言,討論。 首先先介紹我的開發環境: 我用了vs
Thumbnail
這是為了搭建自己想要的工作流而開始的研究工作。
Thumbnail
第一份正職工作 在iot公司擔任後端工程師,一上工就使用先前沒用過的php/laravel,也馬上負責公司產品的架構規劃,先前資料庫只有簡單記載使用者跟使用者的一些設定,很多地方有資料不一致的問題,產品內容還有很多實體的關係沒有被定義進資料庫都是這次改版我要做的事情。 改版納入公司、機器
Thumbnail
介紹C++ 語法 資料型態,架構說明 程式語言為人類與電腦溝通的工具 程式設計流程: 定義問題 -> 問題分析 -> 撰寫演算法 ->程式撰寫 -> 程式執行及維護
Thumbnail
本文探討了複利效應的重要性,並藉由巴菲特的投資理念,說明如何選擇穩定產生正報酬的資產及長期持有的核心理念。透過定期定額的投資方式,不僅能減少情緒影響,還能持續參與全球股市的發展。此外,文中介紹了使用國泰 Cube App 的便利性及低手續費,幫助投資者簡化投資流程,達成長期穩定增長的財務目標。
Thumbnail
這篇文章介紹了網站的整體架構以及開發時所使用的工具和套件,包括 Next.js、Tailwind CSS 和 socket.io 等。文章回顧了程式碼的重構與優化,幫助開發者提高工作效率,適合希望深入瞭解前端開發和網站架構的讀者。
Thumbnail
※ 什麼是Web API API 就是後端開出來讓前端來用的介面,讓前端與後端可以溝通。 API流程: 終端使用者用任何一種裝置進入瀏覽器。 瀏覽器透過 API 向後端發出請求,請求查詢或修改資料。 後端透過 API 收到前端的請求後,取得資料並回應給前端。 前端渲染畫面,終端使用者
Thumbnail
※ 原本狀態:伺服器渲染 這是 MVC 架構下的 request / response 示意圖,在這張圖呈現的架構裡,畫面和資料都由同一個架構處理。 伺服器渲染流程: 瀏覽器針對特定網址送出請求。 路由器解析請求後,轉接給對應的 controller。 controller 按照要求,透過
Thumbnail
你好,在下最近在學習開發web,學了html css js,也得出一些心得,由於網路上已有許多教學,所以我會著重在如何開發出to do List,以及解釋我寫的程式碼。相關的教學我會直接貼網址。如果我有什麼地方出錯,或者是可以寫得更好,歡迎在下方留言,討論。 首先先介紹我的開發環境: 我用了vs
Thumbnail
這是為了搭建自己想要的工作流而開始的研究工作。
Thumbnail
第一份正職工作 在iot公司擔任後端工程師,一上工就使用先前沒用過的php/laravel,也馬上負責公司產品的架構規劃,先前資料庫只有簡單記載使用者跟使用者的一些設定,很多地方有資料不一致的問題,產品內容還有很多實體的關係沒有被定義進資料庫都是這次改版我要做的事情。 改版納入公司、機器
Thumbnail
介紹C++ 語法 資料型態,架構說明 程式語言為人類與電腦溝通的工具 程式設計流程: 定義問題 -> 問題分析 -> 撰寫演算法 ->程式撰寫 -> 程式執行及維護