Skip to content

Commit

Permalink
Merge pull request #16 from ricarthlima/release/21.1
Browse files Browse the repository at this point in the history
Release/21.1
  • Loading branch information
ricarthlima committed Apr 28, 2021
2 parents 5e2a0a1 + 578b9ed commit 10f7d91
Show file tree
Hide file tree
Showing 190 changed files with 3,469 additions and 348 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@

mstagcloud/venv/
64 changes: 45 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,51 +1,77 @@
# (Docker, Django) Análise dos Comentários dos Usuários do Strateegia
# (Rails, MongoDB, Docker) Strateegia+

#### IF1007 - Microsserviços
**Equipe:** Guilherme Prado, Monalisa Sousa, Ricarth Lima e Warley Souza

## Screenshots e Screencast
``` Ainda não ```
![img](https://i.ibb.co/W6ytTJQ/screeshot-strateegia.png)

## 🐟 Sobre o projeto
Esse projeto foi desenvolvido como parte da avaliação da cadeira IF1007 de Microsserviços, ministrada pelo professor Vinícius Garcia no Centro de Informática da UFPE.

Nosso objetivo é o desenvolvimento de duas features que complementam o uso do sistema [Strateegia](https://app.strateegia.digital/):

- Visualização de uma **Nuvem de Palavras** a nível de Missão, Mapas e Kits;
- Visualização dos **Usuários Influentes** em cada Kit;
- Visualização de uma **Nuvem de Palavras** a nível de Kits;
- Visualização da os **Usuários Influente** em cada Kit;

### Mas o que seria um "Usuário Influente"?

"Um usuário influente é a que (i) responde as questões e (ii) essa sua resposta motiva diálogo, ou seja, gera comentários (divergências e convergências explícitas) e concordâncias"
(TODO: Transformar isso numa fórmula matemática)
"Uma pessoa influente é a que (i) **responde as questões** e (ii) essa **sua resposta motiva diálogo**, ou seja, gera comentários (divergências e convergências explícitas) e concordâncias"

[Mais informações sobre o "Score"](https://docs.google.com/document/d/1AOaxrYJFdNVKrmocyh-vdoIDIFI91tU6ZrOTRZFBi-w/edit)

## 👩‍💻 Tecnologias Usadas

- Docker
- Django
- Django Rest Framework
- Rails Only API
- MongoDB
- Strateegia API
- Docker
- Quickchart TagCloud API
- Git e GitHub

## 📲 Instalar o Análise dos Comentários dos Usuários do Strateegia
``` Ainda não ```
**Deployment**
- Heroku
- Digital Ocean

## 🔛 Usando esse repositório
## 📲 Instalar o Strateegia+
Enquanto a Google não libera nosso aplicativo na Google Web Store, [acesse nossa landing page](http://ricarth.me/ms-strateegia-user-analysis/);

``` Ainda não ```
## 🔛 Usando esse repositório

### Sem docker-compose
Tenha certeza de ter o MongoDB, Ruby 2.7.1 e o Rails 6 instalado.
```
git clone https://github.com/ricarthlima/ms-strateegia-user-analysis.git
cd api_gateway
rails s
```
Rodando em localhost:3000/
### Com docker-compose
```
git clone https://github.com/ricarthlima/ms-strateegia-user-analysis.git
git checkout dockering
docker-compose build
docker-compose up -d
```
Rodando em localhost/
## 🤜🤛 Contribuições
Sinta-se a vontade para mandar pull requests, será uma honra para mim! Você pode nos contactar em [rrsl@cin.ufpe.br](mailto:rrsl@cin.ufpe.br)

## 🔮 Próximos passos

- Ampliar o entendimento da equipe sobre Docker e Containers;
- Transformar conceito de usuário influente numa fórmula matemática;
- Implementar microsserviço dos usuários influentes;
- Estudar a viabilidade do uso de uma Extensão de Navegador como front-end;
- Implementar o Front-end;
- Testar o sistema;
- Aplicar feedbacks de usabilidade:
- Nome do kit;
- Interface mais minimalista;
- Download em PDF ou JPG;
- Corrigir bug misterioso da ordenação do Score;
- Tratar e responder erros de forma mais agradável (em especial para API Client);
- Implementar documentação usando o Swagger;
- Terminar a implementação com Docker Compose;
- Atualizar a versão enviada para Google Web Store;
- Refinar a fórmula do Score baseado nos dados coletados;

- Publicar!

Mais na nossa [página de issues.](https://github.com/ricarthlima/ms-strateegia-user-analysis/issues)
## 📜 License
This project is licensed under the MIT License - see the [LICENSE](https://github.com/warleys14/S-Compras/blob/master/LICENSE) file for details.
24 changes: 24 additions & 0 deletions api_gateway/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# See https://help.github.com/articles/ignoring-files for more about ignoring files.
#
# If you find yourself ignoring temporary files generated by your text editor
# or operating system, you probably want to add a global ignore instead:
# git config --global core.excludesfile '~/.gitignore_global'

# Ignore bundler config.
/.bundle

# Ignore all logfiles and tempfiles.
/log/*
/tmp/*
!/log/.keep
!/tmp/.keep

# Ignore pidfiles, but keep the directory.
/tmp/pids/*
!/tmp/pids/
!/tmp/pids/.keep

.byebug_history

# Ignore master key for decrypting credentials and more.
/config/master.key
1 change: 1 addition & 0 deletions api_gateway/.ruby-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ruby-2.7.1
38 changes: 38 additions & 0 deletions api_gateway/Gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
source 'https://rubygems.org'
git_source(:github) { |repo| "https://github.com/#{repo}.git" }

ruby '2.7.1'

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '~> 6.0.3', '>= 6.0.3.6'
# Use Puma as the app server
gem 'puma', '~> 4.1'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
# gem 'jbuilder', '~> 2.7'
# Use Redis adapter to run Action Cable in production
# gem 'redis', '~> 4.0'
# Use Active Model has_secure_password
# gem 'bcrypt', '~> 3.1.7'

# Reduces boot times through caching; required in config/boot.rb
gem 'bootsnap', '>= 1.4.2', require: false

# Use Rack CORS for handling Cross-Origin Resource Sharing (CORS), making cross-origin AJAX possible
gem 'rack-cors'

gem 'mongoid', '~> 7.0.5'

group :development, :test do
# Call 'byebug' anywhere in the code to stop execution and get a debugger console
gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
end

group :development do
gem 'listen', '~> 3.2'
# Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
gem 'spring'
gem 'spring-watcher-listen', '~> 2.0.0'
end

# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
196 changes: 196 additions & 0 deletions api_gateway/Gemfile.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,196 @@
GEM
remote: https://rubygems.org/
specs:
actioncable (6.0.3.6)
actionpack (= 6.0.3.6)
nio4r (~> 2.0)
websocket-driver (>= 0.6.1)
actionmailbox (6.0.3.6)
actionpack (= 6.0.3.6)
activejob (= 6.0.3.6)
activerecord (= 6.0.3.6)
activestorage (= 6.0.3.6)
activesupport (= 6.0.3.6)
mail (>= 2.7.1)
actionmailer (6.0.3.6)
actionpack (= 6.0.3.6)
actionview (= 6.0.3.6)
activejob (= 6.0.3.6)
mail (~> 2.5, >= 2.5.4)
rails-dom-testing (~> 2.0)
actionpack (6.0.3.6)
actionview (= 6.0.3.6)
activesupport (= 6.0.3.6)
rack (~> 2.0, >= 2.0.8)
rack-test (>= 0.6.3)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.2.0)
actiontext (6.0.3.6)
actionpack (= 6.0.3.6)
activerecord (= 6.0.3.6)
activestorage (= 6.0.3.6)
activesupport (= 6.0.3.6)
nokogiri (>= 1.8.5)
actionview (6.0.3.6)
activesupport (= 6.0.3.6)
builder (~> 3.1)
erubi (~> 1.4)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.1, >= 1.2.0)
activejob (6.0.3.6)
activesupport (= 6.0.3.6)
globalid (>= 0.3.6)
activemodel (6.0.3.6)
activesupport (= 6.0.3.6)
activerecord (6.0.3.6)
activemodel (= 6.0.3.6)
activesupport (= 6.0.3.6)
activestorage (6.0.3.6)
actionpack (= 6.0.3.6)
activejob (= 6.0.3.6)
activerecord (= 6.0.3.6)
marcel (~> 1.0.0)
activesupport (6.0.3.6)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 0.7, < 2)
minitest (~> 5.1)
tzinfo (~> 1.1)
zeitwerk (~> 2.2, >= 2.2.2)
bootsnap (1.7.4)
msgpack (~> 1.0)
bson (4.12.0)
bson (4.12.0-java)
builder (3.2.4)
byebug (11.1.3)
concurrent-ruby (1.1.8)
crass (1.0.6)
erubi (1.10.0)
ffi (1.15.0)
ffi (1.15.0-java)
ffi (1.15.0-x64-mingw32)
ffi (1.15.0-x86-mingw32)
globalid (0.4.2)
activesupport (>= 4.2.0)
i18n (1.8.10)
concurrent-ruby (~> 1.0)
listen (3.5.1)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
loofah (2.9.1)
crass (~> 1.0.2)
nokogiri (>= 1.5.9)
mail (2.7.1)
mini_mime (>= 0.1.1)
marcel (1.0.1)
method_source (1.0.0)
mini_mime (1.1.0)
mini_portile2 (2.5.0)
minitest (5.14.4)
mongo (2.14.0)
bson (>= 4.8.2, < 5.0.0)
mongoid (7.0.12)
activemodel (>= 5.1, < 6.2)
mongo (>= 2.7.0, < 3.0.0)
msgpack (1.4.2)
msgpack (1.4.2-java)
nio4r (2.5.7)
nio4r (2.5.7-java)
nokogiri (1.11.3)
mini_portile2 (~> 2.5.0)
racc (~> 1.4)
nokogiri (1.11.3-java)
racc (~> 1.4)
nokogiri (1.11.3-x64-mingw32)
racc (~> 1.4)
nokogiri (1.11.3-x86-mingw32)
racc (~> 1.4)
puma (4.3.7)
nio4r (~> 2.0)
puma (4.3.7-java)
nio4r (~> 2.0)
racc (1.5.2)
racc (1.5.2-java)
rack (2.2.3)
rack-cors (1.1.1)
rack (>= 2.0.0)
rack-test (1.1.0)
rack (>= 1.0, < 3)
rails (6.0.3.6)
actioncable (= 6.0.3.6)
actionmailbox (= 6.0.3.6)
actionmailer (= 6.0.3.6)
actionpack (= 6.0.3.6)
actiontext (= 6.0.3.6)
actionview (= 6.0.3.6)
activejob (= 6.0.3.6)
activemodel (= 6.0.3.6)
activerecord (= 6.0.3.6)
activestorage (= 6.0.3.6)
activesupport (= 6.0.3.6)
bundler (>= 1.3.0)
railties (= 6.0.3.6)
sprockets-rails (>= 2.0.0)
rails-dom-testing (2.0.3)
activesupport (>= 4.2.0)
nokogiri (>= 1.6)
rails-html-sanitizer (1.3.0)
loofah (~> 2.3)
railties (6.0.3.6)
actionpack (= 6.0.3.6)
activesupport (= 6.0.3.6)
method_source
rake (>= 0.8.7)
thor (>= 0.20.3, < 2.0)
rake (13.0.3)
rb-fsevent (0.10.4)
rb-inotify (0.10.1)
ffi (~> 1.0)
spring (2.1.1)
spring-watcher-listen (2.0.1)
listen (>= 2.7, < 4.0)
spring (>= 1.2, < 3.0)
sprockets (4.0.2)
concurrent-ruby (~> 1.0)
rack (> 1, < 3)
sprockets-rails (3.2.2)
actionpack (>= 4.0)
activesupport (>= 4.0)
sprockets (>= 3.0.0)
thor (1.1.0)
thread_safe (0.3.6)
thread_safe (0.3.6-java)
tzinfo (1.2.9)
thread_safe (~> 0.1)
tzinfo-data (1.2021.1)
tzinfo (>= 1.0.0)
websocket-driver (0.7.3)
websocket-extensions (>= 0.1.0)
websocket-driver (0.7.3-java)
websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.5)
zeitwerk (2.4.2)

PLATFORMS
java
ruby
x64-mingw32
x86-mingw32
x86-mswin32

DEPENDENCIES
bootsnap (>= 1.4.2)
byebug
listen (~> 3.2)
mongoid (~> 7.0.5)
puma (~> 4.1)
rack-cors
rails (~> 6.0.3, >= 6.0.3.6)
spring
spring-watcher-listen (~> 2.0.0)
tzinfo-data

RUBY VERSION
ruby 2.7.1p83

BUNDLED WITH
2.1.4
24 changes: 24 additions & 0 deletions api_gateway/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# README

This README would normally document whatever steps are necessary to get the
application up and running.

Things you may want to cover:

* Ruby version

* System dependencies

* Configuration

* Database creation

* Database initialization

* How to run the test suite

* Services (job queues, cache servers, search engines, etc.)

* Deployment instructions

* ...
6 changes: 6 additions & 0 deletions api_gateway/Rakefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Add your own tasks in files placed in lib/tasks ending in .rake,
# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.

require_relative 'config/application'

Rails.application.load_tasks
4 changes: 4 additions & 0 deletions api_gateway/app/channels/application_cable/channel.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
module ApplicationCable
class Channel < ActionCable::Channel::Base
end
end
Loading

0 comments on commit 10f7d91

Please sign in to comment.