Desarrollo web
Una web base per reutilitzar: Astro, FastAPI i un dashboard propi
El meu primer projecte en Astro, després d''anys amb WordPress: una base
2 min de lectura
El primer projecte en Astro
Fins ara he treballat amb WordPress: allà muntava les webs dels meus projectes i les dels clients. Aquest és el primer projecte que comence de zero amb Astro (un generador de webs modern), i no és un capritxo tècnic: és una investigació, com vaig explicar a Reconstrueixo Pànxing des de zero. Vull comprovar sobre el terreny com és treballar amb Astro, FastAPI (el framework de Python), PostgreSQL (la base de dades) i agents d'IA, abans de comprometre-m'hi.
Per què una base
Emprenec projectes web sovint i sempre repeteixo el mateix: web pública, panell d'administració, autenticació (comprovar qui ets) i desplegament (posar la web al servidor). Aquesta vegada he decidit fer-ho una vegada i fer-ho bé: una base propia, sòlida i pensada per reutilitzar.
El punt de partida
Ahir vaig muntar la primera versió: Astro amb el framework Lumos, FastAPI i SQLite (una base de dades senzilla, en un sol fitxer). Funcionava, però aviat he vist que es quedaria curt per allò que vull: diversos usuaris, cerca vectorial (cercar per significat), integració de IA i agents. Aquest matí he començat una refactorització profunda, abans d'afegir res nou.
Cap a on va
La base ja ha donat el tom: PostgreSQL amb pgvector (l'extensió de cerca vectorial), migracions amb Alembic (l'eina que fa evolucionar l'estructura de les dades), tot dockeritzat (contenidors que funcionen igual arreu), autenticació JWT (credencials de sessió) amb renovació automàtica i el backend separat en serveis i repositoris. El dashboard es migra pantalla a pantalla, i la primera illa de React (un tros interactiu) ja és en marxa amb la taula d'articles.
Abans de tocar res visual he documentat el sistema de disseny del panell: shell fosc, àrea clara, tipografia Inter i índig per a les dades. Cada pantalla nova té els criteris escrits; no s'han d'inventar a mes que arriben.
Com ho documentaré
Dins del repositori hi ha un dev-journal (el diari del projecte) amb hitos, decisions, errors i solucions. A partir d'ara, aquestes notes explicaran el procés des de fora: què es va decidir, per què, què va fallar i com es va resoldre. També són part de la investigació: si la base funciona, aquí quedarà escrit per què; si no, també. I per publicar-la, el camí és el de Com es publica aquesta web.
La regla del projecte: no afegir complexitat innecessària. Tot el que entra, entra amb una raó.