eventNet é um aplicativo de gestão de eventos e networking que permite aos usuários criar, participar e interagir em eventos de forma fácil e eficiente. Organize eventos, faça networking com outros participantes e mantenha-se informado com notificações em tempo real.
- Visão Geral
- Funcionalidades
- Tecnologias Utilizadas
- Arquitetura
- Configuração do Ambiente de Desenvolvimento
- Como Usar
- Estrutura do Banco de Dados
- Contribuindo
- Licença
O eventNet é um aplicativo mobile completo para gestão de eventos, permitindo que os usuários criem eventos, inscrevam-se, façam check-in usando QR Codes e interajam com outros participantes através de chat em tempo real. O backend gerencia a autenticação, a lógica de eventos e a comunicação em tempo real, enquanto o frontend, desenvolvido em Angular + Ionic, oferece uma interface amigável e responsiva.
- Registro, login e gerenciamento de perfis.
- Diferentes roles: usuário comum ou organizador.
- Autenticação via JWT.
- Criação, edição e exclusão de eventos por organizadores.
- Inscrição em eventos e confirmação de presença.
- Detalhes do evento, incluindo palestrantes, local e categoria.
- Geração e leitura de QR Codes para check-in no evento.
- Chat em grupo para cada evento.
- Mensagens privadas entre participantes.
- Notificações push sobre eventos, mensagens e atualizações.
- Angular com Ionic: Framework para desenvolvimento mobile cross-platform.
- Tailwind.css: Framework CSS para estilização inline-css.
- Firebase: Notificações push e autenticação social (opcional).
- Node.js com Nest.js: Framework para desenvolvimento de API REST.
- PostgresSQL: Banco de dados SQL para armazenamento de dados.
- Socket.io: Implementação de WebSockets para chat em tempo real.
- JWT (JSON Web Token): Autenticação e autorização de usuários.
- AWS S3: Armazenamento de imagens.
O projeto segue uma arquitetura client-server:
- Mobile: Desenvolvido em Angular + Ionic, responsável por fornecer a interface do usuário e interagir com a API backend.
- Backend: Implementado em Node.js com Nest.js, gerencia a lógica de negócios, autenticação, persistência de dados e comunicação em tempo real.
- Banco de Dados: PostgresSQL é usado para armazenar dados estruturados como usuários, eventos, e mensagens.
- Node.js
- Angular
- Ionic
- Nest.js
- PostgresSQL
-
Clone o repositório:
git clone https://github.com/seu-usuario/eventify.git cd eventify
-
Instale as dependências do backend:
cd backend npm install
-
Configure as variáveis de ambiente no arquivo
.env
:PORT=3000 DATABASE_URL=mongodb://localhost:27017/eventify JWT_SECRET=sua_chave_secreta
-
Execute o servidor backend:
npm run start:dev
-
Instale as dependências do frontend:
cd ../eventNet npm install
-
Execute o aplicativo mobile:
ionic serve
- Criar Conta: Registre-se como usuário ou organizador.
- Navegar por Eventos: Explore eventos disponíveis na página principal.
- Criar Evento: Como organizador, crie um novo evento.
- Participar e Interagir: Inscreva-se em eventos, participe de chats e faça check-in usando QR Codes.
- Receber Notificações: Fique atualizado com notificações push sobre seus eventos e mensagens.
Este projeto está licenciado sob a MIT License.
Esse README fornece uma visão clara do projeto, suas funcionalidades, como configurá-lo e contribuir para ele. Ajuste conforme necessário para refletir as especificidades do seu projeto.