Skip to content

Commit

Permalink
Update README.md (#22)
Browse files Browse the repository at this point in the history
* Update README.md

* Add Environment Setup and Configuration back to dev-docs

* README.md: fix whitespace

---------

Co-authored-by: HackMD <37423+hackmd-hub[bot]@users.noreply.github.com>
  • Loading branch information
WildfootW and HackMD authored Jan 7, 2024
1 parent 675b66c commit d640ffe
Show file tree
Hide file tree
Showing 2 changed files with 65 additions and 49 deletions.
73 changes: 32 additions & 41 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,57 +5,48 @@
![DALL·E 2023-12-02 00.04.25 - A sleek and modern logo for a financial technology service named 'TradeWiSE'. The logo should embody elements that represent trading and wisdom, like ](./images/logo.png)

## About TradeWiSE: A Chatbot for Smarter TWSE Investing
TradeWiSE, a neat little chatbot I've been tinkering with. It's all about making investing in the Taiwan Stock Exchange (TWSE) a tad easier and more insightful.
TradeWiSE is a compact and sophisticated chatbot. It aims to semi-automate the investment process in the Taiwan Stock Exchange (TWSE), catering to those with busy lifestyles who wish to maintain their investments. The design allows for easy integration of customized analysis techniques and collaborative development of common features under an open-source license. Each instance is tailored for personal use, making it ideal for users with some development skills.

### Core Features (and More on the Horizon)
* Simplified Financial Analysis: It's got a knack for sorting through financial reports to give you the gist of what's going on.
* Market Tracking: Keeps an eye on your favorite companies and nudges you at the right moments, like when to buy or sell.
* Timely Reminders: Ensures you don't miss out on important company updates, especially when the execs are making moves.

### The Tech Stuff
* TradeWiSE is built as a series of microservices, using Python, FastAPI, and Docker.
* It's currently set up with Telegram for interaction, but it’s designed to be adaptable to other messaging platforms.

### Jump In, Let's Collaborate:
* If stocks or coding are your things, or if you're just curious, feel free to hop in. There's room for ideas and improvements!
* We're rolling with the Mozilla license, keeping it open for everyone to contribute.
* Peek at the DEVELOPER_GUIDE for the nitty-gritty on how TradeWiSE works.
TradeWiSE 是一款小型聊天機器人。目的在半自動化台灣證券交易所(TWSE)的投資過程,適合忙碌生活中希望維持投資的人士。設計上允許協作者輕鬆加入客製化分析方法,並且可以在開源授權下與他人共同開發其他通用功能。每個實例都是為個人使用設計,適合具有一定開發能力的用戶。

## Installation Guide

To set up the TradeWiSE application, you need to configure several services, each potentially requiring unique configuration files and environment variables. This document guides you through setting up the configuration for the fugle-trading service as an example.
### Core Features (and More on the Horizon)
* Automated Financial Analysis: Executes collaborator-customized strategies, automatically calculating targeted financial metrics.
* 自動財務分析:執行協作者客製化的策略,自動計算關注的財務指標。
* Market Tracking: Continuously monitors your selected companies and automatically executes trades at optimal times.
* 市場追蹤:持續追蹤關注的公司,並在合適的時機自動執行交易。
* Timely Reminders: Alerts users to review specific holdings and assists in calculating annualized returns.
* 定時提醒:提醒使用者檢視特定持股,並協助計算年化報酬率。

### Configuring the fugle-trading Service
The fugle-trading service requires a configuration file (config.fugletrading.ini) and a certificate file (cert.p12).
### Technology Stack and Frameworks
In this project, we've employed a range of technologies and tools for the development, deployment, and maintenance of the system. These technologies include:

Steps:
* Initial Setup:
* Navigate to the config-example directory in the TradeWiSE project.
* You will find config.fugletrading.ini.example and cert.p12.example.
在此專案中,我們採用了一系列的技術和工具,以實作系統的開發、部署和運維。這些技術包括:

* Create Actual Config Files:
* Copy config.fugletrading.ini.example and cert.p12.example from the config-example directory to the config directory.
* Rename config.fugletrading.ini.example to config.fugletrading.ini.
* Rename cert.p12.example to cert.p12.
* Docker: As our primary containerization platform, Docker is used for packaging and deploying various services. It provides a consistent and portable environment for our services, making deployment and maintenance more straightforward.
* Docker:作為主要的容器化平台,Docker 被用於封裝和部署各個服務。它為我們的服務提供了一致和可移植的環境,使部署和維護變得更加容易。
* Git: Git is our version control system, aiding in managing the project's change history and supporting collaborative development.
* Git:Git 是我們的版本控制系統,它幫助我們管理專案的變更歷史,並支持多人協作開發。

* Edit the Configuration File:
* Open config.fugletrading.ini in a text editor.
* Fill in the actual values for API keys, secrets, and other configurations as needed.
* Ensure the certificate path in config.fugletrading.ini points to /app/cert.p12.
Built on these core technologies, our services may choose different languages and frameworks according to their specific needs, including but not limited to:

### Environment Variables:
If the service requires environment variables (e.g., for the Telegram bot), you need to set these up in a .env file located in the config directory.
在這些核心技術的基礎上,我們的各個服務可能會選擇使用不同的語言和框架,具體包括但不限於:

### Running the Services:
With the configurations in place, you can start the services using Docker Compose:
* Python: Many services opt for Python as their programming language, especially those involving data processing and analysis.
* Python:許多服務選擇 Python 作為開發語言,特別是那些涉及到資料處理和分析的服務。
* FastAPI: For services requiring high-performance APIs, FastAPI is a popular choice. Renowned for its speed, simplicity, and ease of use, it's well-suited for the rapid development of modern web applications.
* FastAPI:對於需要高性能 API 的服務,FastAPI 是一個常用選擇。它以其快速、簡潔且易於使用的特性而著稱,適合快速開發現代 Web 應用程序。

```
docker-compose up -d
```
Furthermore, services in the project may select appropriate technologies and tools based on their individual requirements and characteristics. This flexibility allows us to choose the most suitable solutions for different problems.

This command will launch all services defined in your docker-compose.yml, applying the configurations you've set up.
此外,專案中的服務可能會根據各自的需求和特點選擇適合的技術和工具,這種靈活性使得我們能夠針對不同的問題選擇最合適的解決方案。

Note: For production environments, ensure the security of your configuration files, especially those containing sensitive information like API keys or certificates.
### Jump In, Let's Collaborate:
* If stocks and coding are your things, or just looking for a casual project, you're welcome to join us. There's always room for new ideas and enhancements!
* 如果對股票、程式設計感興趣,都歡迎加入我們,這只是一個休閒的小專案。
* We embrace the Mozilla license for broad collaboration, ensuring open contribution. However, for those concerned about disclosing their strategies, the key strategic components are under the MIT license.
* 我們採用 Mozilla 授權以促進廣泛合作,確保開放的貢獻。然而,對於那些擔心策略外洩的人,關鍵策略部分則採用 MIT 授權。
* Peek at the [dev-docs](./dev-docs) for the nitty-gritty on how TradeWiSE works.
* 看看 [dev-docs](./dev-docs),了解 TradeWiSE 的運作細節。

## License
This project, TradeWiSE, is primarily licensed under the Mozilla Public License 2.0 (MPL 2.0). This license grants freedoms for the use, modification, and sharing of the code while requiring that any modifications be distributed under the same license.
Expand All @@ -74,5 +65,5 @@ The rationale behind using different licenses in this project is to accommodate

All contributions to the TradeWiSE project, regardless of size, are considered to be released under the Mozilla Public License 2.0, unless specified otherwise. Contributions to the insight-engine service should adhere to the MIT License.

## Maintenance and Support
## Maintenance
[GitHub Repository](https://github.com/Rezztech/TradeWiSE)
41 changes: 33 additions & 8 deletions dev-docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,16 +79,41 @@
* 描述:這個群組專注於用戶與系統之間的直接互動(`telegram-bot`),包括接收用戶指令和提供反饋,以及與其他服務的資料交換和指令執行。
* [Link](./UserInteractionAndCommunicationGroup.md)

### Technology Stack and Frameworks (主要技術和框架)
在此專案中,我們採用了一系列的技術和工具,以實作系統的開發、部署和運維。這些技術包括:
* Docker:作為主要的容器化平台,Docker 被用於封裝和部署各個服務。它為我們的服務提供了一致和可移植的環境,使部署和維護變得更加容易。
* Git:Git 是我們的版本控制系統,它幫助我們管理專案的變更歷史,並支持多人協作開發。
## Environment Setup and Configuration

在這些核心技術的基礎上,我們的各個服務可能會選擇使用不同的語言和框架,具體包括但不限於:
* Python:許多服務選擇 Python 作為開發語言,特別是那些涉及到資料處理和分析的服務。
* FastAPI:對於需要高性能 API 的服務,FastAPI 是一個常用選擇。它以其快速、簡潔且易於使用的特性而著稱,適合快速開發現代 Web 應用程序。
To set up the TradeWiSE application, you need to configure several services, each potentially requiring unique configuration files and environment variables. This document guides you through setting up the configuration for the fugle-trading service as an example.

此外,專案中的服務可能會根據各自的需求和特點選擇適合的技術和工具,這種靈活性使得我們能夠針對不同的問題選擇最合適的解決方案。
### Configuring the fugle-trading Service
The fugle-trading service requires a configuration file (config.fugletrading.ini) and a certificate file (cert.p12).

Steps:
* Initial Setup:
* Navigate to the config-example directory in the TradeWiSE project.
* You will find config.fugletrading.ini.example and cert.p12.example.

* Create Actual Config Files:
* Copy config.fugletrading.ini.example and cert.p12.example from the config-example directory to the config directory.
* Rename config.fugletrading.ini.example to config.fugletrading.ini.
* Rename cert.p12.example to cert.p12.

* Edit the Configuration File:
* Open config.fugletrading.ini in a text editor.
* Fill in the actual values for API keys, secrets, and other configurations as needed.
* Ensure the certificate path in config.fugletrading.ini points to /app/cert.p12.

### Environment Variables:
If the service requires environment variables (e.g., for the Telegram bot), you need to set these up in a .env file located in the config directory.

### Running the Services:
With the configurations in place, you can start the services using Docker Compose:

```
docker-compose up -d
```

This command will launch all services defined in your docker-compose.yml, applying the configurations you've set up.

Note: For production environments, ensure the security of your configuration files, especially those containing sensitive information like API keys or certificates.


## Code Style and Development Standards
Expand Down

0 comments on commit d640ffe

Please sign in to comment.