Site e painel de Ardit Derjaj, fotógrafo de casamentos, eventos, produto e interiores em Pádua: galerias em italiano e em inglês, orçamentos que o cliente assina online, entregas de fotografias por uma ligação privada com o ZIP, e um painel cómodo no telemóvel, que se instala como uma app.
Ardit Derjaj é fotógrafo em Pádua: casamentos, eventos, produto, interiores e indústria. Já tinha um site: reuni-o num único repositório e depois refi-lo peça a peça, e o painel de raiz, para que o Ardit o usasse a sério, também a partir do telemóvel.
**O que faz**
- **As galerias**: seis, com 133 fotografias publicadas, em italiano e em inglês. Cada fotografia carregada perde os dados escondidos (a localização GPS, o número de série da máquina) sem ser recomprimida, e o servidor prepara as versões leves em WebP. - **Os orçamentos**: o Ardit compõe-nos a partir da sua tabela de preços; o cliente abre-os a partir de uma ligação, assina no ecrã e descarrega o PDF, com o sinal e o IBAN se forem precisos. - **As entregas**: uma ligação privada com PIN, as favoritas escolhidas pelo cliente e «Descarregar todas em ZIP». - **Os pedidos** do formulário de contacto, as avaliações e as colaborações. - **As estatísticas das visitas**, com o mapa do mundo e os endereços IP guardados apenas como impressão digital. - **Os avisos por e-mail**: o certificado HTTPS a expirar, o disco a encher, a base de dados parada.
**O painel** foi reescrito de raiz e instala-se no telemóvel como uma app: cinco secções, uma pesquisa nas definições que tolera os erros de escrita e realça o campo encontrado, e descrições das fotografias propostas pelo Claude, que o Ardit revê antes de as guardar, com um limite de gastos por mês.
**A parte difícil** é o ZIP das entregas: centenas de fotografias em alta resolução, enviadas enquanto o arquivo se escreve, sem um ficheiro temporário no servidor. O servidor calcula antes o tamanho exato, para que o navegador mostre quanto falta, e acima de 4 GB passa para o formato ZIP64: testei-o com um arquivo real de 5 GB.
Vue 3, Tailwind CSS e Express com MongoDB; cada alteração passa por 150 testes automáticos e fica online sozinha com uma GitHub Action, uma versão por pasta, e se o controlo depois da publicação falhar, o servidor volta à versão anterior.
Conceção, desenvolvimento full-stack e publicação · Ardit Derjaj · 2026
Vue.js, Express, MongoDB, Tailwind CSS, Claude