Um aplicativo da Web para coletar dados de comparações de imagens em pares via crowdsourcing. Construído com a pilha Mern.
A equipe da Calista desenvolveu e usou este aplicativo para criar um conjunto de dados baseado em comparação na estética do site.
Exemplo do processo de avaliação :

Artigo: "Calista: um sistema profundo baseado em aprendizado para entender e avaliar a estética do site"
@article{DELITZAS2023,
title = {Calista: A deep learning-based system for understanding and evaluating website aesthetics},
journal = {International Journal of Human-Computer Studies},
volume = {175},
pages = {103019},
year = {2023},
issn = {1071-5819},
doi = {https://doi.org/10.1016/j.ijhcs.2023.103019},
url = {https://www.sciencedirect.com/science/article/pii/S1071581923000253},
author = {Alexandros Delitzas and Kyriakos C. Chatzidimitriou and Andreas L. Symeonidis}
}
Adicione um arquivo .env na pasta raiz do projeto e defina as seguintes variáveis:
| Variável de ambiente | Descrição |
|---|---|
| Mongo_uri | String de conexão MongoDB |
| PORTA | Porta do servidor |
| Mongo_port | Porta MongoDB |
| Me_config_mongodb_adminusername | Nome de usuário do MongoDB |
| ME_CONFIG_MONGODB_ADMINPASSWORD | Senha do MongoDB |
| Me_config_basicauth_username | Nome de usuário de Mongo-Express |
| Me_config_basicauth_password | Senha mongon-express |
| Node_env | Variável de ambiente do nó |
| VoTing_Rounds | Número de rodadas de votação de cada sessão de voto |
| VoTing_time | Tempo de votação em segundos de cada comparação |
| Número_of_images | Número de imagens no front-end/público/imagens/ |
| Baseurl | URL base que é usado para os pedidos |
Esta etapa é necessária apenas pela primeira vez em que você executará o aplicativo. Isso pode levar alguns minutos, pois baixará as imagens necessárias. Se você já concluiu esta etapa uma vez com sucesso, poderá pular a Directy para a Etapa 4.
Tl; dr :
Execute o seguinte comando:
./setup.sh --create --sortimages
Opções mais detalhadas :
As imagens no front-end/público/imagens/devem ser nomeadas com números começando de 0 (por exemplo, 0.png, 1.png, 2.png, ...). Se as imagens ainda não estiverem nesse formato, você pode usar a opção - -Sortimages para renomeá -las automaticamente durante a configuração:
./setup.sh --sortimages
Se você deseja definir um novo banco de dados, é necessário que o arquivo db/utils/comparisons_data.json . Este arquivo contém todas as comparações possíveis em pares que podem ser feitas entre as imagens com ordem aleatória. É usado para a inicialização do banco de dados. Se você deseja usar um arquivo comparadons_data.json pré-existente, verifique se ele está no db/ utils/ diretório. Caso contrário, você pode usar a opção -Create para criar esse arquivo automaticamente durante a configuração:
./setup.sh --create
Se você deseja restaurar um banco de dados existente, primeiro certifique -se de mover seus arquivos de backup no diretório DB/ Backup/ . Em seguida, você pode usar a opção ---restore = <path_to_database_dump_in_backup_folder>.
Por exemplo, se você tivesse a seguinte estrutura,
├── db
│ ├── backup
│ │ ├── 14_04_2020
│ │ │ └── votes
│ │ │ ├── comparisons.bson
│ │ │ ├── comparisons.metadata.json
│ │ │ ├── votesessions.bson
│ │ │ └── votesessions.metadata.json
. . .
. . .
. . .você iria correr:
./setup.sh --restore=14_04_2020/votes
NOTA : Nesse caso, um arquivo comparadons_data.json não é necessário.
Você também pode combinar várias opções ou não usar nenhuma.
Começar:
docker-compose -f docker-compose.yml up --build
Parar:
Ctrl-C
Para o modo desapegado :
Começar:
docker-compose -f docker-compose.yml up -d --build
Parar:
docker-compose down