Pular para o conteúdo principal

Projeto: Listas de Compras para Extensão Universitária com Laravel

Este post tem como objetivo mergulhar no projeto feito para a gestão de listas de compras para extensão universitária na UniFil.

 Projeto acessivel em: http://144.22.130.122

Antes de começar um projeto é crucial haver uma discussão sobre quais tecnologias (tech stack) irão ser utilizadas para realizar o objetivo da melhor maneira possível, tendo isto em mente reunimos o grupo e acordamos que seguiríamos com o projeto em duas frentes principais: Laravel para a aplicação web, mas a escolha deste framework não foi por acaso... 2 grandes aspectos nos fizeram ter este ultimato:

  1. Familiaridade: através de uma reunião vimos que essas seriam as ferramentas que a maioria - em média - tem mais familiaridade e conforto em utilizar.
  2. Maturidade da Ferramenta: O uso do Laravel pode parecer duvidoso para alguns, mas em suas últimas versões o framework se mostra como um ecossistema de open source e contribuições de diversos meios diferentes, hoje é tido como o maior ecossistema de um framework na comunidade de software livre, muito impulsionado também com a "volta da era sombria" do php que se rendeu à paradigmas modernos e se mostra como uma linguagem que promete consertar os erros cometidos pela mesma no passado.

Para manter o visual de uma aplicação moderna decidimos ir em busca de uma biblioteca que implementasse o conceito de SPA (single page application) em nosso framework de forma fácil e sem complicações. Por termos escolhido um framework com um ecossistema gigante essa busca não foi dificil, existem diversas opções para fazer isto em Laravel, uma delas seria o Inertia mas como este se limita à utilização de outro framework para o front end não seguimos a ideia. O escolhido da vez seria o Splade que além de implementar uma boa SPA também utiliza do próprio template engine do Laravel (o Blade) para criação de telas no front.

Como tocamos no assunto de front end... a beleza de um site está intrinsecamente relacionado ao tempo que um usuário passa nele e sua experiência, um site bonito cativa quem os acessa e gera uma sensação boa que desmotiva o mesmo de ficar ansioso para sair do seu site. Com isto em mente decidimos escolher uma biblioteca conhecida por seu foco em visual de qualidade e contemporaneo: o Tailwind, além de ser uma biblioteca com componentes que agradam os olhos, o seu uso é muito simples e eu diria até que mais fácil que sua concorrente direta (o Bootstrap).

Após o acordo da equipe fechamos a "Tech Stack" da seguinte maneira:

WEB:
- Laravel 10
- PHP 8.2
- Splade (biblioteca SPA)
- Tailwind (front-end)


Vamos começar explorando os componentes-chave deste projeto.
 

Laravel 10 e PHP 8.2

O Laravel, um dos frameworks PHP mais populares, é a base deste projeto. Com a versão 10, podemos aproveitar todos os recursos mais recentes e poderosos para desenvolver nossa aplicação de gerenciamento de listas de compras de forma eficiente. O PHP 8.2 traz melhorias significativas em termos de desempenho e segurança, tornando nosso aplicativo mais robusto.

Splade: Uma Biblioteca SPA para Laravel

Para criar uma experiência de usuário fluida, estamos incorporando o Splade, uma biblioteca Single Page Application (SPA) específica para Laravel. Isso nos permite criar interfaces de usuário altamente interativas e responsivas, tornando a experiência do usuário mais agradável.

Tailwind CSS

 
O Tailwind CSS é a escolha perfeita para o front-end deste projeto. Com sua abordagem de "utility-first", podemos criar designs elegantes e eficientes com facilidade. Ele se integra perfeitamente com o Laravel, permitindo que criemos uma interface de usuário atraente e altamente personalizável.

Implementação da Classe Abstrata no Laravel

Uma das partes mais interessantes deste projeto é a implementação de uma classe abstrata no Laravel para gerenciamento de dados em um arquivo JSON. Essa classe abstrata fornecerá um conjunto de métodos e funcionalidades para facilitar a manipulação de dados em nosso aplicativo, tornando-o mais modular e escalável.

Ao combinar todas essas tecnologias, estamos criando uma solução completa para simplificar a gestão de listas de compras para extensão universitária. Os estudantes poderão criar, editar e compartilhar suas listas de compras de forma eficiente, tanto na web quanto em dispositivos móveis.

Remodelagem no DER

Por conta da utilização de um JSON como banco de dados não conseguimos implementar o DER que havia sido apresentado anteriormente neste blog. A nova alteração ficou da seguinte maneira:



Conclusão

Fizemos um vídeo demonstrativo de como está o nosso projeto até este momento:

 https://youtu.be/IqkpqaTtXJg

Postagens mais visitadas deste blog

MVP, DER, Diagrama da UML

Foram feitas alterações nos itens deste blog, confira aqui a versão atualizada . DER: Diagrama de Sequencia: