PLACE 允許使用者在雲端儲存檔案、在裝置之間同步檔案以及共用檔案。
您可以自行設定或使用我們的協助。
我相信 Place 將成為最容易擴展的儲存和媒體交付服務。
以及一個教授軟體、設計和程式設計技能的專案。
隨時提交拉取請求或建立問題!
安裝 git
複製 這個儲存庫
轉到後端資料夾
cd server
创建“.env”和“docker.env”(如果您想使用 Place,还可以更改 s3 和 env 配置中的数据。)
docker.env 示例:
DATABASE_URL=postgresql://root@crdb:26257/defaultdb?sslmode=disable&schema=public
JWT_SECRET=secret-key
S3_PORT=9000
S3_ENDPOINT=nginx-minio
S3_ACCESS_KEY=ACCESS_KEY
S3_SECRET_KEY=SECRET_KEY
`npx prisma generate` 使用 Prisma 連接資料庫和 env 文件.
安裝 Docker 和 Docker Compose
docker-compose build
docker-compose run
安裝 npm
在終端機中執行:
安裝 nestjs/cli:
npm i -g @nestjs/cli
下載所有依賴項:
npm i
安裝 CockroachDB
在新終端機中:
cockroach start-single-node --insecure
安裝 minio
在新終端機中:
minio server start
最後:
npm run start:dev
建構高負載、易於擴展的服務,用於在用戶之間簽訂媒體合約、儲存和傳輸文件。
包括自己的貨幣、認購
Front-end:- 快速、簡單、看起來不錯
- 解決實際問題
- 最佳化
- 遵守物件導向的程式模式和範例。
- 測試
- 一次可承受約一百萬個請求
- 最少的故障
- 可擴展架構
- 其中一台伺服器可能發生故障 - 工作將繼續
- 所有使用者都必須收到合約
- Nest.js
- S3 Minio
- Cockroach DB
- JWT auth, SwaggerAPI, Typescript, Prisma, Class-validator
- Nginx, Docker, Minicube/K3s/KuberSpray
- 要快取的檔案很少
- 需要熱身
- ✅ 开始开发基础版本
- ✅ 描述要求
- ✅ 描述架構和技術堆疊
- ✅ 介紹專案的伺服器部分
- ✅ 描述行為準則
- ✅ 設計自訂路徑
- ✅ 开发 UI 套件
- ✅ 开发设计系统
- ✅ 介紹專案的客戶端部分
- 獲得 MVP
- ...
- 开始开发企业版
- 连接Prometheus+Graphana记录器
- 划分为微服务
但文件可以儲存在 Cockroach DB 中的假設被駁斥了。 此外,Prisma ORM 不適用於 Tarantool DB。
因此,Cockroach DB 處理所有數據,Tarantool DB 暫時從專案中刪除。
我認為有必要擁有維護開源專案的經驗,以及了解開發該專案的新方法。