目前為止的程式架構,根據目前的需求和功能,這個架構涵蓋了 後端 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 # 忽略文件,例如虛擬環境和中間文件
backend/
app.py
requirements.txt
php複製程式碼flask
sqlalchemy
pandas
psycopg2-binary
flask-cors
frontend/
index.html
<table>
元素,動態填充數據。app.js
fetch
方法請求後端 API。styles.css
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
);
README.md
模組功能
後端
- 從資料庫中提取靜態公司數據和動態財務數據。
- 提供 API(/api/companies
, /api/company_financials
)給前端使用。
資料庫
- 儲存公司靜態數據(如公司名稱、產業別)。
- 儲存公司財務數據(如營業收入、毛利率等)。
前端
- 靜態頁面顯示公司數據,通過表格方式呈現。
- 使用 JavaScript 請求 API 並填充表格數據。
這樣的架構清晰且具擴展性,能滿足當前需求,也為後續升級提供了良好的基礎。