Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Atualizações na documentação e melhorias para novos desenvolvedores #21

Merged
6 commits merged into from
Jun 21, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions .github/ISSUE_TEMPLATE/discuss-o.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
name: DISCUSSÃO
about: Inicia uma discussão sobre um determinado assunto.
title: Discussão
labels: question
assignees: ""
---

**Descrição da discussão:**

<!--Aqui você descreve o assunto que irá ser discutido nessa issue. -->

**Necessidade:**

<!--Aqui você pode explicar porquê essa discussão é necessária. -->

**Seu ponto de vista:**

<!-- Aqui você pode dar seu ponto de vista e mostrar os pontos que você considerou importantes para a sua decisão. -->
19 changes: 19 additions & 0 deletions .github/ISSUE_TEMPLATE/feature.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
name: FEATURE
about: Sugira uma ideia para esse projeto
title: Feature
labels: enhancement
assignees: ""
---

**Descrição da feature:**

<!-- Aqui você descreve o que irá mudar com sua feature. -->

**Necessidade:**

<!-- Aqui você descreve o porquê de sua feature é necessária. -->

**Implementação:**

<!-- Aqui você pode dar ideias de implementações para sua feature. -->
22 changes: 22 additions & 0 deletions .github/ISSUE_TEMPLATE/reporte-o-bug.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
name: BUG
about: Crie um relatório para nos ajudar
title: Bug
labels: bug
assignees: ""
---

**Descrição do bug**

<!-- Uma descrição clara e concisa do que é o bug. -->

**Reproduzir o bug**
Etapas para reproduzir o bug:

1.
2.
3.

**Comportamento esperado**

<!-- Uma descrição clara e concisa do que você acha que deveria acontecer. -->
24 changes: 24 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
name: PR
about: Abrir uma Pull Request
title: PR
labels: enhancement
assignees: ""
---

#Numero_da_issue

**Descrição do bug/feature:**

<!-- Aqui você descreve sua feature ou bug de sua Pull Request. -->

**Solução**

<!-- Aqui você descreve qual sua solução e como foi a implementação. -->

**Coisas a serem feitas**

<!-- Aqui você diz o que deve ser feito nas próximas Pull Requests. -->

<!-- APAGAR O COMENTÁRIOS AO TERMINAR DE PREENCHER.
PODE CLICAR EM PREVIEW PARA VER COMO ESTA FICANDO. -->
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,7 @@ celerybeat-schedule
*.sage.py

# Environments
.env/
.env
.venv
env/
Expand Down
153 changes: 153 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,153 @@
# Contributing

> Pode contribuir a vontade, você será sempre bem-vindo(a). Mas temos algumas regras para serem seguidas para que todos sejam bem recebidos por todos e que todos possam contribuir de maneira feliz :smiley:.

## Adicionar/Atualizar funcionalidades

Você olhou a aplicação e pensou em alguma funcionalidade que deveria ser adicionada no projeto ? :open_mouth:

**_Então, você tem dois passos para seguir:_**

- [Abrir uma issue detalhando sua ideia](#criando-uma-issue)
- [Você mesmo implementar a funcionalidade](#contribuir-com-implementação)

## Criando uma issue

Na página do [projeto](https://github.com/Rickecr/PyElit), você pode clicar no botão `Issues` e na página irá aparecer um botão `new issue`, então é só selecionar e seguir os seguintes passos:

- Selecione o tipo da sua issue: `Bug ou Feature`.
- Dê um bom nome a sua issue.
- Detalhe bem sobre qual objetivo da issue.
- Imagens caso possível.
- Selecione labels para sua issue.
- Por fim, clique em `Submit new issue`.

## Clonar o repositório

Na página inicial do [repositório](https://github.com/Rickecr/PyElit) tem um botão `Fork`. Ao clicar é só esperar concluir o fork. E então ele irá criar o repositório na sua conta. E agora é só clonar em sua máquina, assim:

```sh
git clone https://github.com/<nome_de_usuario>/PyElit
```

Ao concluir, você terá o repositório em seu computador e então é só abrir em seu editor preferido e fazer suas modificações.

Antes você deve criar sua branch para seu desenvolvimento:

```sh
git checkout -b <nome_branch>
```

Para o nome da branch use o número da issue para facilitar, ex: `issue_17`.

E agora pode começar o desenvolvimento :smiley: .

Ao terminar suas modificações, você deve commitar suas alterações, mas primeiro:

```sh
git add .
```

O comando acima irá preparar todos os arquivos modificados para serem commitados, passando por todas as alterações que foram feitas por você onde decedirá se a alteração será adicionada (você deve estar dentro da pasta do projeto para usar o comando). Agora é só commitar as alterações:

```sh
git commit -m "<Sua_Mensagem>"
```

Lembre-se de usar mensagens claras. Se o que você está resolvendo já possui uma issue aberta, faça referência a issue no commit. Ex: `git commit -m "#17 - Add contributing.md"`

E por fim, você irá enviar as alterações para o repositório remoto:

```sh
git push --set-upstream origin <nome_branch>
```

Isso é apenas na primeira vez que vai enviar uma nova branch para o repositório remoto, nas próximas vezes, basta apenas:

```sh
git push
```

Mas isso só irá alterar no seu fork, o repositório oficial não vai ter suas alterações e agora ? :confused:

Calma, agora que entra a `Pull Request` ou `PR`

## Contribuir com implementação:

Depois de ter realizado o fork e o clone do projeto, escolhido seu editor de texto favorito. Então é hora de codar.

Mas calma ai, antes de qualquer coisa, você deve **escolher uma issue** que pretender trabalhar. Se a issue que trata sobre a funcionalidade não existir, você deve criar e dizer que esta trabalhando nela, caso ela exista você deve dizer lá(caso não já tenha alguém) que pretende trabalhar na issue. E após feito isso, agora sim você está pronto para **codar**.

### Entendendo as pastas:

O projeto se encontra na pasta `pyelit`, estamos aceitando dicas de nomes para biblioteca também :blush: .

- Na pasta `dados`: Possue os textos usados para treinar o topic modeling.

- Na pasta `docs`: Encontra-se os arquivos de documentação da biblioteca.

- Na pasta `Geoparsing`: Encontra-se todos os arquivos sobre as funcionalidades relacionadas com o geoparsing.

- Na pasta `./gazetteer`: Encontra-se os arquivos do gazetteer usados pela biblioteca.
- Na pasta `./utils`: Encontra-se os arquivos onde tem as funções que foram/são utilizadas pela biblioteca. Ex: Para processar os dados do gazetteer.

- Na pasta `Pre_processamento`: Encontra-se os arquivos usados para processamentos dos dados, funções que podem ser uteis para o geoparsing e topic modeling.

- Na pasta `TopicModeling`: Encontra-se todos os arquivos sobre as funcionalidades relacionadas com o topic modeling.

- Na pasta `modelo`: Encontra-se o modelo treinado do Topic Modeling.

### Como executar a aplicação:

Usamos o pipenv para melhor facilidade de gerenciamento das dependências.
Então é preciso instalar antes de tudo:

- Instalar o pipenv:

```bash
$ pip install pipenv
```

Agora você deve ativar o virtualenv(aqui já será instalada todas as libs utilizadas):

```bash
$ pipenv shell
```

Agora você precisar instalar o modelo em pt-br do spacy:

```bash
$ python -m spacy download pt_core_news_sm
```

E pronto, você está pronto para iniciar o desenvolvimento.

**OBS:** Executar o comando acima dentro da pasta do projeto.

- Agora você esta pronto para implementar sua funcionalidade/correção.

### Entrando nos padrões:

Nós optamos por seguir o padrão da [PEP 8](https://www.python.org/dev/peps/pep-0008/). Para isso instale a extensão do [Python para o VSCode](https://marketplace.visualstudio.com/items?itemName=ms-python.python). Outra solução é usar o pycodestyle.

#### Pycodestyle:

Ele já é uma dev-package no projeto.

Com o virtualenv ativado, você pode executar o pycodestyle:

- Para executar o pycodestyle:

```bash
pycodestyle .
```

## Realizando uma Pull Request - PR

Na página do seu fork irá aparecer uma mensagem em amarelo solicitando que você faça uma Pull Request para o repositório original. Ao clicar irá abrir uma página para você preencher as informações sobre sua PR.

- Referencie a issue em que você está trabalhando usando `#<numero_da_issue>`

- Descreva suas modificações

- Espere pela avaliação da sua PR, e pode ocorrer de pedimos algumas alterações a seres feitas
8 changes: 4 additions & 4 deletions Main.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@
# Geoparsing
g = Geoparsing()
r = g.geoparsing(
"Eu moro na Rua Treze de Maio no centro de campina grande", gazetteer_cg=True)
"Eu moro na Rua Treze de Maio no centro de campina grande",
gazetteer_cg=True)

print(r[:3])

print(len(r))

# Topic Modeling
# t = TopicModeling()
# r = t.rate_text("Minha rua esta cheia de lixo, as pessoas não respeitam nada")
# text = "Minha rua esta cheia de lixo, as pessoas não respeitam nada"
# r = t.rate_text(text)

# print(t.print_keywords(quant_max_palavras=5))

Expand Down
3 changes: 2 additions & 1 deletion Pipfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ url = "https://pypi.org/simple"
verify_ssl = true

[dev-packages]
pycodestyle = "*"

[packages]
gensim = "==3.8.0"
Expand All @@ -17,4 +18,4 @@ plpygis = "*"
pyLDAvis = "*"

[requires]
python_version = "3.6"
python_version = "3.8"
Loading