Microsoft Learn 學生大使 AIMT 俱樂部是一項由學生領導並由俱樂部負責人Ashish Ujjwal領導的社區協調的倡議。該俱樂部是一個創新且引人入勝的社區,學生可以參與各種技術和有趣的活動,包括:
該計畫的目標是創建一個功能齊全的 Web 應用程序,透過活動面板、管理面板、部落格面板等支援俱樂部活動的協調。
輕鬆組織、管理和參與活動。用戶可以瀏覽、註冊並獲取即將舉行的俱樂部活動的詳細資訊。
完全支援 CRUD 的部落格面板,使用者和管理員可以在其中建立、閱讀、更新和刪除部落格。
從集中管理面板管理所有使用者、事件和部落格。管理員可以完全控制平台,包括發送新聞通訊和調節用戶活動。
透過Nodemailer實現無縫電子郵件通知。用戶透過電子郵件收到有關活動註冊、部落格更新和其他活動的通知。
使用JSON Web 令牌 (JWT)進行安全可靠的使用者驗證。為使用者、管理者和事件管理者管理角色和權限。
與Socket.io 的即時通訊可在現場活動和聊天期間實現用戶之間的動態且引人入勝的互動。
整個平台部署並託管在 Azure 上,確保快速且可擴展的效能。
查看專案示範和演練影片:
該專案基於MERN Stack構建,具有電子郵件服務和即時互動的附加功能。
用戶收藏:
儲存使用者訊息,包括角色(管理員、使用者)、身份驗證令牌和設定檔資料。
活動收藏:
儲存所有與活動相關的數據,包括活動詳細資訊、註冊用戶和活動組織者。
部落格收藏:
所有用戶創建的部落格的集合,以及時間戳、類別和作者詳細資訊。
This project uses JWT for user authentication and role-based authorization. The following user roles are supported:
1. Admin:
Full access to all resources including events, users, and blogs.
2. Event Manager:
Limited access to manage events and moderate related user activities.
3. User:
Can register for events, read blogs, and contribute by writing blog posts.
為了設定電子郵件通知,整合了 Nodemailer 服務。您可以在 .env 檔案中設定寄件者電子郵件,如「本機設定」部分所示。
管理面板可讓您:
該項目包括使用 Socket.io 的即時聊天功能。用戶可以在活動期間進行互動、發表即時評論並參與即時討論。
在未來的版本中,我們的目標是添加更多功能,例如:
若要在本機上運行項目,請依照下列步驟操作:
克隆儲存庫
git clone https://github.com/AshishUjjwal/Microsoft-LSA-AIMT.git
導航到專案目錄
cd Microsoft-LSA-AIMT
安裝依賴項
npm install
cd client
npm install
設定環境變數
在根目錄下建立.env檔案並新增以下變數:
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret_key
[email protected]
EMAIL_PASS=your_email_password
運行應用程式要運行伺服器和客戶端:
npm run dev
造訪應用程式開啟瀏覽器並前往 http://localhost:3000。
該計畫是 Microsoft Learn 學生大使計畫的重要組成部分。它旨在促進學生和專業人士之間的社區建設和協作。
請隨時聯繫:
我們歡迎社區的貢獻!如果您願意貢獻:
有關更多詳細信息,請閱讀貢獻指南。
This project is licensed under the MIT License - see the LICENSE file for details.