Skip to content

randomicecube/exbiidei

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DEIPaper

Projeto realizado no âmbito da candidatura à BII BL039/2022, tendo como objetivo implementar um sistema muito simples de gestão de publicações científicas para o DEI, sistema esse ligado à API ISTPaper. Recorreu-se às frameworks Django e bootstrap para a modelação do sistema.

Dependências

Para correr a aplicação localmente, é necessária uma máquina equipada com:

  • Django, 3.1 ou superior;
  • requests, 2.27 ou superior;
  • django-crispy-forms, 1.14 ou superior.

De realçar que as versões acima mencionadas foram as utilizadas em desenvolvimento, pelo que é possível que versões mais antigas funcionem de igual forma.

Para as instalar, basta executar pip install Django requests django-crispy-forms.

Por fim, executar pip freeze e verificar se as dependências foram corretamente instaladas.

Correr a aplicação

Instaladas as dependências, basta executar o comando python manage.py runserver --insecure na raiz deste repositório para correr a aplicação.
Vale a penar notar que a flag --insecure é necessária para que o Django consiga disponibilizar os ficheiros estáticos sem a flag Debug ativa.

De seguida, poderá interagir com a aplicação através do browser, por exemplo, acedendo via http://localhost:8000/ ou http://127.0.0.1:8000.

SECRET_KEY deve estar definida como variável de ambiente do sistema para que a aplicação possa funcionar.

Opções de desenho

  • Foi decidido implementar um aspeto dark mode por definição - com mais tempo, teria sido interessante implementar um toggle que permitisse ao utilizador escolher entre visuais light e dark, mas a ideia foi abandonada.

  • Não foram colocadas as views que permitem editar e eliminar publicações diretamente na homepage:

    • Editar publicações é possível através da página específica de cada publicação - desta forma, o utilizador pode facilmente ver todos os detalhes do paper que pretende editar antes de o fazer, sendo porventura mais intuitivo do que um form onde se permite editar qualquer paper na homepage.

    • Remover publicações é possível, para além de na página específica de cada publicação, na secção de listagem de todas as publicações (associada ao paper da linha em que o botão se encontra). O utilizador continua, tal como ao editar, a ter de ver a publicação antes de a poder remover.

    Ainda quanto à homepage, destacou-se a listagem da publicações em relação às outras opções apresentadas, por ser a operação que o utilizador comum provavelmente procurará realizar mais frequentemente.

  • Foram utilizados Modal Forms em vez dos Forms padrão do bootstrap, com vista a evitar páginas cheias de formulários - um utilizador só vê um formulário quando diz que o quer ver (seja isso carregando num botão, aparecendo o tal Modal Form, ou quando o próprio formulário é todo o conteúdo da página).

  • A paginação não apresenta qualquer opção de filtragem e/ou ordenação, visto que da forma como a API ISTPaper é implementada, só é possível obter limit publicações por vez - ora, sem saber o limite de publicações existentes, não podemos pedi-las todas de forma a realizar essas operações, pelo que a ideia foi abandonada.

About

My submission for DEI's BL039/2022 exercise, DEIPaper

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •