O Microsoft Learn Student Ambassadors AIMT Club é uma iniciativa liderada por estudantes e coordenada pela comunidade sob a liderança de Ashish Ujjwal , o líder do clube. Este clube é uma comunidade inovadora e envolvente onde os alunos podem participar de diversas atividades técnicas e divertidas, incluindo:
O objetivo deste projeto é criar um aplicativo web completo que apoie a coordenação das atividades do clube por meio de painel de eventos, painel de administração, painel de blog e muito mais.
Organize, gerencie e participe facilmente de eventos. Os usuários podem navegar, registrar-se e obter detalhes sobre os próximos eventos do clube.
Um painel de blog totalmente habilitado para CRUD onde usuários e administradores podem criar, ler, atualizar e excluir blogs.
Gerencie todos os usuários, eventos e blogs a partir de um painel de administração centralizado. Os administradores têm controle total sobre a plataforma, incluindo o envio de newsletters e a moderação da atividade do usuário.
Notificações por e-mail perfeitas via Nodemailer . Os usuários são notificados sobre inscrições em eventos, atualizações de blogs e outras atividades por e-mail.
Autenticação de usuário segura e confiável usando JSON Web Tokens (JWT) . Funções e permissões são gerenciadas para usuários, administradores e gerentes de eventos.
A comunicação em tempo real com Socket.io permite interação dinâmica e envolvente entre os usuários durante eventos e chats ao vivo.
Toda a plataforma é implantada e hospedada no Azure, garantindo um desempenho rápido e escalonável.
Confira a demonstração do projeto e o vídeo passo a passo:
Este projeto é construído no MERN Stack com recursos adicionais para serviços de e-mail e interação em tempo real.
Coleção de usuários :
Armazena informações do usuário, incluindo funções (administrador, usuário), tokens de autenticação e dados de perfil.
Coleção de eventos :
Armazena todos os dados relacionados ao evento, incluindo detalhes do evento, usuários registrados e organizadores do evento.
Coleção de blogs :
Uma coleção de todos os blogs criados por usuários, juntamente com carimbos de data/hora, categorias e detalhes de autoria.
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.
Para configurar notificações por email, o serviço Nodemailer está integrado. Você pode configurar o e-mail do remetente no arquivo .env conforme mostrado na seção Configuração local.
O Painel de Administração permite que você:
Este projeto inclui um recurso de chat em tempo real usando Socket.io. Os usuários podem interagir durante eventos, postar comentários ao vivo e participar de discussões em tempo real.
Em versões futuras, pretendemos adicionar mais recursos, como:
Para executar o projeto localmente, siga estas etapas:
Clonar o repositório
git clone https://github.com/AshishUjjwal/Microsoft-LSA-AIMT.git
Navegue até o diretório do projeto
cd Microsoft-LSA-AIMT
Instalar dependências
npm install
cd client
npm install
Configurar variáveis de ambiente
Crie um arquivo .env no diretório raiz e adicione as seguintes variáveis:
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret_key
[email protected]
EMAIL_PASS=your_email_password
Execute o aplicativo Para executar o servidor e o cliente:
npm run dev
Acesse o Aplicativo Abra seu navegador e acesse http://localhost:3000.
Este projeto tem sido uma parte significativa do programa Microsoft Learn Student Ambassadors. Ele foi projetado para promover a construção de uma comunidade e a colaboração entre estudantes e profissionais.
Sinta-se à vontade para entrar em contato em:
Aceitamos contribuições da comunidade! Se você gostaria de contribuir:
Para mais detalhes, leia as Diretrizes de Contribuição.
This project is licensed under the MIT License - see the LICENSE file for details.