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

更新 發佈閱讀 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
留言分享你的想法!
avatar-img
微嗑多的沙龍
3會員
28內容數
人生online之資本市場大作戰
微嗑多的沙龍的其他內容
2024/12/02
這時候修改的程式部分變多了,而且也會遇到Bug,所以重點不僅是要學會把程式路徑打通,還要知道怎麼描述錯誤,了解邏輯錯誤或語法錯誤在哪裡。 簡單來說,就算要複製貼上也要貼對位置。 另外,GPT的確會考慮多一些問題,看到程式的當下會覺得:「哦對,這個要注意。」然後就又佩服GPT可以做到這個程度。
2024/12/02
這時候修改的程式部分變多了,而且也會遇到Bug,所以重點不僅是要學會把程式路徑打通,還要知道怎麼描述錯誤,了解邏輯錯誤或語法錯誤在哪裡。 簡單來說,就算要複製貼上也要貼對位置。 另外,GPT的確會考慮多一些問題,看到程式的當下會覺得:「哦對,這個要注意。」然後就又佩服GPT可以做到這個程度。
2024/12/02
Q: 承接之前的程式,做一個搜尋對話框
Thumbnail
2024/12/02
Q: 承接之前的程式,做一個搜尋對話框
Thumbnail
2024/11/28
先說這一篇不是要教怎麼解讀,純粹發牢騷。想看解讀的方法可以回到上一頁了。
2024/11/28
先說這一篇不是要教怎麼解讀,純粹發牢騷。想看解讀的方法可以回到上一頁了。
看更多
你可能也想看
Thumbnail
這篇文章記錄了作者近期的心路歷程,從養成記錄習慣、學習新技術到反思職業發展,以及如何透過學習與人脈建立,提升自我價值。文章包含作者在學習與工作上的心得體悟,以及未來創業方向的初步規劃。
Thumbnail
這篇文章記錄了作者近期的心路歷程,從養成記錄習慣、學習新技術到反思職業發展,以及如何透過學習與人脈建立,提升自我價值。文章包含作者在學習與工作上的心得體悟,以及未來創業方向的初步規劃。
Thumbnail
Q: 承接之前的程式,做一個搜尋對話框
Thumbnail
Q: 承接之前的程式,做一個搜尋對話框
Thumbnail
這是幾年來我對於軟體架構師的心路歷程,上述不保證讓你成為軟體架構師,但希望會對軟體工程師職涯有幫助。也希望台灣的軟體公司能稍微多注重一下軟體架構,甚至能像 91App 不只工程師團隊,還有軟體架構團隊。
Thumbnail
這是幾年來我對於軟體架構師的心路歷程,上述不保證讓你成為軟體架構師,但希望會對軟體工程師職涯有幫助。也希望台灣的軟體公司能稍微多注重一下軟體架構,甚至能像 91App 不只工程師團隊,還有軟體架構團隊。
Thumbnail
意外的是這本書中提到蠻多首席設計師或是架構師的重要性,他確保系統的概念整體性,定義規格但對實作持開放讓開發者能夠發揮創意,自己的工作經驗中,第一份工作有和一位頗厲害的架構師合作過,第二份工作後來自己也當上架構師,甚至在另一家公司還曾經有過首席架構師的頭銜,但說實話,自己仍在摸索怎麼當一個好的架構師?
Thumbnail
意外的是這本書中提到蠻多首席設計師或是架構師的重要性,他確保系統的概念整體性,定義規格但對實作持開放讓開發者能夠發揮創意,自己的工作經驗中,第一份工作有和一位頗厲害的架構師合作過,第二份工作後來自己也當上架構師,甚至在另一家公司還曾經有過首席架構師的頭銜,但說實話,自己仍在摸索怎麼當一個好的架構師?
Thumbnail
總之先把選組用的作品集完成了,那麼,距離簡略版計劃書完工還差幾步呢?
Thumbnail
總之先把選組用的作品集完成了,那麼,距離簡略版計劃書完工還差幾步呢?
Thumbnail
這個職位會不會是加班王? 還是通靈王? 未來主管身上是充滿寶藏 know-how 還是只有響鈴報時功能? 那些面試想問又不敢問出口的問題,這集訪談就邀請到有將近 7 年開發經驗的資深前端工程師彥成,來告訴你怎麼透過正式的問題去旁敲側擊你想知道的真實面!
Thumbnail
這個職位會不會是加班王? 還是通靈王? 未來主管身上是充滿寶藏 know-how 還是只有響鈴報時功能? 那些面試想問又不敢問出口的問題,這集訪談就邀請到有將近 7 年開發經驗的資深前端工程師彥成,來告訴你怎麼透過正式的問題去旁敲側擊你想知道的真實面!
Thumbnail
比起上一次第一次自己掛件的手忙腳亂,這次顯得淡定多了,因為已經跑過全部流程了,只是再重複一次罷了,雖然還是有漏掉一些步驟,但不妨礙事情圓滿達成! 在經歷清明節期間"結構技師之亂"的事件(結構技師搞失蹤)後,這次新的結構技師目前為止工作效率讓我很滿意,絕地逢生根本是目前這案的狀況,本來都要跳腳了,幸好
Thumbnail
比起上一次第一次自己掛件的手忙腳亂,這次顯得淡定多了,因為已經跑過全部流程了,只是再重複一次罷了,雖然還是有漏掉一些步驟,但不妨礙事情圓滿達成! 在經歷清明節期間"結構技師之亂"的事件(結構技師搞失蹤)後,這次新的結構技師目前為止工作效率讓我很滿意,絕地逢生根本是目前這案的狀況,本來都要跳腳了,幸好
Thumbnail
軟體開發是在虛擬的空間重新描述並解決現時的問題,多數時候並不存在正確答案。如何穿越這些不確定及未知就體現了開發者的功力以及對事物的把握度。 標題有點聳動,但且以這篇短文紀錄幾個印象比較深的、飛一陣後發現什麼節論都沒得到的可能作法(? 所以其實是要反著看 … 以下列舉三個常碰到的情況跟大家分享
Thumbnail
軟體開發是在虛擬的空間重新描述並解決現時的問題,多數時候並不存在正確答案。如何穿越這些不確定及未知就體現了開發者的功力以及對事物的把握度。 標題有點聳動,但且以這篇短文紀錄幾個印象比較深的、飛一陣後發現什麼節論都沒得到的可能作法(? 所以其實是要反著看 … 以下列舉三個常碰到的情況跟大家分享
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News