Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • R RN-eVote
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • VotacaoOnLine
  • RN-eVote
  • Wiki
  • arquitetura

arquitetura · Changes

Page history
Update arquitetura authored Jun 30, 2019 by JM Fantin's avatar JM Fantin
Show whitespace changes
Inline Side-by-side
arquitetura.md
View page @ 57821069
......@@ -4,8 +4,95 @@
## Arquitetura
<h3>Acesso rápido:</h3>
* [Tecnologias utilizadas](#tecnologias)
* [Diagrama de Deploy](#deploy)
* [Diagrama de Componentes](#componentes)
* [Build da aplicação](#build)
---
<a href="#tecnologias" name="tecnologias"></a>
#### Tecnologias utilizadas
Descrevemos, a seguir, as tecnologias utilizadas no eVote.
**Node.js:** interpretador, com código aberto, de código JavaScript de modo assíncrono e orientado a eventos.
Versão utilizada: 10.14.1.
**npm:** gerenciador de pacotes padrão para o ambiente de tempo de execução do JavaScript Node.js.
Versão utilizada: 6.4.1.
**React Native:** estrutura de aplicativo móvel de código aberto usada para desenvolver aplicativos para Android, iOS e UWP, permitindo que os desenvolvedores usem o React junto com os recursos da plataforma nativa.
Versão utilizada: Expo SDK v32.0.0.
**Expo:** ferramenta utilizada no desenvolvimento mobile com React Native que permite o fácil acesso às APIs nativas do dispositivo sem precisar instalar qualquer dependência ou alterar código nativo, possibilitando a pronta execução do código desenvolvido no computador e visualizado no celular.
Versão utilizada: 32.0.0.
**Firebase:** conjunto de tecnologias propostas como “Backend as a Service”:
- **Realtime Database:** banco de dados NoSQL hospedado na nuvem.
- **Storage:** armazenador de conteúdo gerado pelo usuário, como fotos e PDFs.
- **Authentication:** solução de identidade completa, compatível com contas de e-mail e senha.
---
<a href="#deploy" name="deploy"></a>
#### Diagrama de Deploy
![evote-deploy](/uploads/e4070051b60cef165534652f9d41ea00/evote-deploy.jpeg)
a inserir
- diagrama de componentes (atualizado?)
- fluxo entre telas? (melhor ficar na parte de dados)
A solução, uma vez gerado o build contendo as dependências de `node_modules` (mais informações no final da página), se comunica com o banco de dados (Firebase) através da internet, via protocolo HTTP.
---
<a href="#componentes" name="componentes"></a>
#### Diagrama de Componentes
![evote-componentes](/uploads/0647da06ce5f46dacde9efcf13fbc13f/eVote_-_Component_Diagram_v1.png)
A dinâmica de criação de salas de votação é representada no diagrama de componentes acima.
O Realtime Database do Firebase atua como centro de informações do
sistema, mantendo dados de usuários cadastrados e logados em i0 e i1, e se
alimentando do estado de uma sala de votação recém criada em i6.
Um usuário, Administrador nesse cenário, fornece entradas através de telas
para criar a sala de votação, composta de datas de início e fim, informações para
contexto (título, descrição, arquivo), questões e convidados. Essas informações são,
então, consumidas por usuários cuja ID é referenciada entre os Convidados, e a
verificação para o acesso a essa sala é requisitada também ao Firebase, via i4.
---
<a href="#build" name="build"></a>
#### Build da aplicação
Tenha o expo instalado na sua máquina.
```
npm install expo-cli --global
```
Crie uma conta em [expo.io](https://expo.io), valide-a, e insira seu usuário e senha também no terminal.
```
expo login
```
Se você ainda não instalou as dependências do projeto clonado, instale-as.
```
npm install
```
Suba, então, um servidor para o projeto. (e aguarde o bundler se manifestar)
```
npm start
```
Concluídas essas etapas, o build está pronto para ser realizado.
```
expo build:android
```
Se tudo der certo, o terminal informará o link para acompanhar o build, onde a apk será disponibilizada.
Se algo der errado, sinta-se livre para chamar o @joao.lerina .
\ No newline at end of file
Clone repository
  • QuickStart
  • User Stories
  • arquitetura
  • backend
  • cronograma
  • frontend
  • Home
  • links
  • modelagem
  • progresso
  • prototipos
  • sprints
  • termo de abertura