Metawall 是一個旨在將社交體驗推向更高層次的平台,將 Instagram 和 Facebook 的魅力融入其中,為您帶來前所未有的交流樂趣。
- link to MetaWall
- frontend repo
- backend repo
Google, LINE, Discord, Facebook
- node.js
- express
- mongoDB
- JWT
- Imgur
- Google第三方登入
- AWS
//開發環境
npm run dev
//正式機環境
npm run prod
//Swagger開發文件
npm run swagger
//執行ESlint格式化
npm run format
- (1) 切換 Node.js 版本:
nvm use v16.14.0
- (2) 建立專案:
express --no-view [專案]
- (3) 引入模組:
npm install
- (4) 安裝套件:
npm i mongoose dotenv cors bcryptjs validator jsonwebtoken imgur tslib image-size multer express-rate-limit -s
- (5) package.json 自訂指令、部署 AWS / Heroku
- (6) 加入 .gitignore、config.env、example.env 檔案
├── connections // 負責與資料庫連接
├── controller // 處理 HTTP 請求的控制器
├── log // 存放日誌的資料夾
├── middleware // 中間件,用於處理請求和回應
├── models // 用於描述 mongoDB 的數據模型
├── routes // 定義 HTTP 路由
├── socket // 處理 socket.io 的相關功能
│ ├── controller // 處理 socket 的控制器
│ ├── middleware // 處理 socket 的中間件
│ ├── repositories // 處理 socket 的資料存儲
│ ├── response // 處理 socket 的回應格式
│ ├── services // 處理 socket 的服務邏輯
│ └── utils // 處理 socket 的工具函數
└── utils // 存放共用的工具函數
- DNS:透過 Cloudflare 做DNS轉址的設定與取得免費的SSL/TLS憑證做更安全的HTTPS連線。
- 前端:把Vue3的程式碼部署在AWS S3 靜態儲存庫
- 後端:把Node.js API 部署在AWS EB 容器內,在環境執行起的時候,會自動起一個EC2 instance。
- 資料庫:MongoDB Atlas
Made with contrib.rocks.