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.