RyoURL 是基於 Django 開發的短網址產生服務,使用者能夠創建短網址、查詢原始短網址及查看所有短網址。
- 能夠以 RyoUrl-test 進行單元測試。
RyoURL 提供了多種 API 端點,分為以下幾個類別:
- POST /short
- 提供使用者創建新的隨機短網址
- 創建邏輯為隨機生成 6 位數的英數亂碼,並檢查是否已經存在於資料庫,若無則建立其與原網址的關聯
- GET /origin/{short_string}
- 提供使用者以短網址查詢原網址
- POST /custom
- 提供使用者自訂新的短網址 (需要登入)
- GET /all-my
- 提供查詢目前自己建立的所有短網址 (需要登入)
- DELETE /url/{short_string}
- 提供使用者刪除指定的短網址 (需要登入)
- POST /register
- 提供使用者註冊帳號
- POST /login
- 提供使用者登入
- GET /info
- 獲取用戶資訊 (需要登入)
- POST /refresh-token
- 更新 TOKEN 權杖 (需要登入)
- GET /all-urls
- 獲取所有 URL (需要管理員權限)
- DELETE /expire-urls
- 刪除過期 URL (需要管理員權限)
- GET /users
- 獲取所有用戶 (需要管理員權限)
- PUT /user/{username}
- 更新用戶類型 (需要管理員權限)
- DELETE /user/{username}
- 刪除用戶 (需要管理員權限)
- 管理員 [2]
- 一般使用者 [1]
- 未登入的使用者 [0]
- 您必須先將此專案 Clone 到您的環境
git clone https://github.com/KageRyo/RyoURL.git
- 接著安裝所需要的函式庫
pip install -r requirements.txt
- 在 RyoURL Django 專案資料夾內建立
.env
設定環境變數,範例如下:DEBUG = 'True or False' SECRET_KEY = 'Your Django Secret Key' SENTRY_CLIENT_DSN = 'Your Sentry Key'
- 執行此 Django 應用程式
python manage.py runserver
此專案資料庫使用 PostgreSQL。當然,您能依照需求更換成其他關聯性資料庫,包含但不限於:MySQL、sqlite3 ......等,別忘了到 settings.py
中進行修改。
歡迎對 RyoURL 做出任何形式的貢獻,您可以於 Issues 提出問題或希望增加的功能,亦歡迎透過 Pull Requests 提交您的程式碼更動!
此專案採用 MIT License 開源條款,
有任何問題也歡迎向我聯繫。
電子信箱:kageryo@coderyo.com 。