fosstodon.org is one of the many independent Mastodon servers you can use to participate in the fediverse.
Fosstodon is an invite only Mastodon instance that is open to those who are interested in technology; particularly free & open source software. If you wish to join, contact us for an invite.

Administered by:

Server stats:

10K
active users

#appy

4 posts1 participant0 posts today
Continued thread

La gestió dels vots remots no s'acaba rebent-los i desant-los. Cal enviar activitats Update als servidors federats amb les dades actualitzades de l'enquesta. #appy

Els vots remots a les enquestes locals no es reben en la safata compartida /inbox sinó que arriben a la del usuari local creador de l'enquesta, concretament a /users/usuari_local/inbox. #appy

Hauré de separar el mòdul actual en dos diferents, un per a publicar tuts i l'altre per a enquestes. L'activitat que s'envia al fedivers en el cas dels tuts és del tipus Create i la que s'envia en les enquestes és del tipus "Question'. Millor mòduls separats. #appy

Continued thread

Un altre descobriment en aquest camí ha estat #Pydantic. Com podia viure programàticament parlant sense Pydantic?
Pydantic és una biblioteca de Python que serveix per validar i gestionar dades amb tipus. Et permet definir models (com classes) on s’especifica el tipus de cada camp, i automàticament valida i converteix les dades rebudes. Integrat a la perfecció amb fastAPI.

Continued thread

Totes les aplicacions client per Android funcionen amb #appy i el mateix passa amb les de iOS. Aquesta és la clau, volia aprofitar totes les apps existents per tant l'API havia de ser una copia de la de Mastodon però feta amb fastAPI, que ha resultat una tria excel·lent. fastAPI és brutal, fa tot i més i molt bé. I, a més, et genera automàticament la documentació sense ni preocupar-te per ella. Insisteixo, brutal.

Continued thread

L'estructura tècnica d'#appy funciona gràcies a Python, fastAPI, #Postgresql (base de dades) i #Redis (memòria cau).
Tot de manera asincrona per evitar punts de bloqueig, passen moltes coses en parall·lel, simultàniament, bàsic per a tenir fluïdesa tant en les interaccions amb altres servidors com amb les aplicacions client.
appy funciona bé fins i tot en una #Raspberry 4B, per tant també és una opció vàlida per a tenir el perfil fediversal auto gestionat i a casa.

Continued thread

Quan vaig posar en marxa mastodont.cat no en sabia res de Python i ActivityPub no existia (Mastodon funcionava a les hores amb el protocol Ostatus de GNU Social).
Qui podria pensar que acabaria programant el meu propi servidor? sí, estic content d'haver-ho aconseguit i de compartir el resultat amb la comunitat de programari lliure a codeberg.org/spla/appy
Queda feina encara però sí, ja ho considero un èxit 😃

Summary card of repository spla/appy
Codeberg.orgappya headless ActivityPub server written with Python and fastAPI.

Queden algorismes per polir, afegir funcionalitats com ara bloquejar o silenciar usuaris i servidors i depurar incidències però ja considero que #appy és un èxit.
Des de juny de l'any passat he estat (i estic) molt centrat en desenvolupar el meu propi servidor ActivityPub des de zero, sense copiar res de ningú, per pur plaer personal de superar reptes. He après molt pel camí, no és gens fàcil però he gaudit molt de cada fita.
Va ser tot un encert triar #Python i #fastAPI, van sobrats.

No quedava gens bé que es mostressin les dades json al clicar en un enllaç d'un tut d'un usuari en un servidor #appy.
He creat una plantilla en html i css que mostra una pàgina on es veu en la columna central l'avatar i imatge de fons del usuari, el tut, data de publicació i els comptadors.
La columna de l'esquerra mostra el logo d'appy i el servidor. La de la dreta una breu explicació de què és appy i un enllaç al codi font.
M'agrada l'aspecte de la pàgina 😀

appy.cat/@appy/114148917008006

M'agrada molt el panell de gestió de Hetzner Cloud on hi tinc contractat un Shared vCPU Ampere (Arm).
Hi he instal·lat un servidor #appy per a fer proves de rendiment.