Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/coplin-ufsm/rankings

Uma aplicação Web para gerenciamento de Rankings Acadêmicos.
https://github.com/coplin-ufsm/rankings

academic-rankings django

Last synced: 6 days ago
JSON representation

Uma aplicação Web para gerenciamento de Rankings Acadêmicos.

Awesome Lists containing this project

README

        

# Rankings

Uma aplicação Web para gerenciamento de Rankings Acadêmicos, criada pela Coordenadoria de Planejamento Informacional
da UFSM - COPLIN/PROPLAN.

## Pré-requisitos

Este repositório requer a última versão do [Python Anaconda](https://www.anaconda.com/download) para ser executado,
visto que usa o gerenciador de pacotes conda. O código executará em qualquer Sistema Operacional, mas foi desenvolvido
originalmente para Windows 10 Pro (64 bits).

As configurações da máquina que o repositório foi desenvolvido encontram-se na tabela abaixo:

| Configuração | Valor |
|---------------------|--------------------------|
| Sistema operacional | Windows 10 Pro (64 bits) |
| Processador | Intel core i7 9700 |
| Memória RAM | 16GB |
| Necessita rede? | Sim |

## Instalação

```bash
conda env create -f environment.yml
```

## Primeira execução

Siga uma das duas opções abaixo, dependendo do seu caso de uso.

### ❌ Não tenho acesso ao banco bee da UFSM

1. Será necessário trocar as configurações no [settings.py](app/app/settings.py) para usar um banco de dados local:

```python
DATABASES = {
# para usar o banco de dados local, use esta opção
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'database_sqlite.db',
},
# para usar o banco de dados remoto, use esta opção
# 'default': {
# "NAME": 'BEE',
# "ENGINE": 'ibm_db_django',
# "DATABASE": get_secret('database'),
# "HOST": get_secret('host'),
# "PORT": get_secret('port'),
# "USER": get_secret('user'),
# "PASSWORD": get_secret('password'),
# "OPTIONS": {
# 'dsn': f"DATABASE={get_secret('database')};HOSTNAME={get_secret('host')};"
# f"PORT={get_secret('port')};PROTOCOL=TCPIP;"
# },
# 'PCONNECT': True,
# },
}
```

2. Rode o script [ibmdb_create.sql](app/database_scripts/ibmdb_create.sql) para criar as tabelas no banco de dados;
3. Execute os seguintes comandos:

```bash
conda activate rankings
python manage.py makemigrations rankings
python manage.py migrate
```

### ✅ Tenho acesso ao banco bee

#### Opção 1: Quero recriar o banco de dados

> [!CAUTION]
> Esta ação irá deletar **todas** as tabelas do banco de dados, referentes aos rankings. Pense bem se é exatamente isso
> que você quer fazer!

1. Rode o script [ibmdb_drop.sql](app/database_scripts/ibmdb_drop.sql) para deletar **todas** as tabelas do banco de dados de rankings;
2. Rode o script [ibmdb_create.sql](app/database_scripts/ibmdb_create.sql) para recriar as tabelas do zero;
3. Execute os seguintes comandos:

```bash
conda activate rankings
python manage.py makemigrations rankings
python manage.py migrate
```

> [!NOTE]
> Pode ser que ao executar o comando `python manage.py migrate` com o banco de dados IBM DB2, um erro ocorra
> na migração. Simplesmente ignore este erro.

#### Opção 2: Quero refletir alterações feitas na estrutura das tabelas do banco de dados

1. Execute os seguintes comandos:

```bash
conda activate rankings
python manage.py makemigrations rankings
python manage.py migrate
```

> [!NOTE]
> Pode ser que ao executar o comando `python manage.py migrate` com o banco de dados IBM DB2, um erro ocorra
> na migração. Simplesmente ignore este erro.

## Execuções subsequentes

> [!NOTE]
> Caso esteja rodando a aplicação com conexão ao banco da UFSM, é necessário estar na mesma rede do banco de dados
> (rede interna), ou usar a VPN da universidade.

Independente do nível de acesso ao banco de dados da UFSM:

1. Entre na pasta `app`
2. Execute os seguintes comandos:

```bash
conda activate rankings
python manage.py runserver
```

3. Acesse o site pelo link disponibilizado pelo console: http://localhost:8000/ranking/insert

## Diagrama do banco de dados

É possível consultar o diagrama do banco de dados no arquivo [SCHEMA](app/database_scripts/SCHEMA.md).

## Contato

Repositório originalmente desenvolvido por Henry Cagnini: [[email protected]]()

Contribuições de Douglas Pasqualin: [[email protected]]()

## Bibliografia

* [Documentação ibm_db](https://www.ibm.com/docs/en/db2/11.5?topic=framework-application-development-db)