Populære emner
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
Jeg bygde en Instant Messenger-applikasjon helt på @Cloudflare. Det tok 1 dag, 3 filer, 4 ressurser... Og den er klar til å skalere fra 0 til millioner.
Arbeider → autentisering og ruting
D1-database → lagre bruker/pass
Bruker GJØR → brukerprofil og venner
Samtale GJØR → meldinger
Blogg som svar, men en rask teaser her:
Cloudflare/Actors-biblioteket gjorde mye av dette enkelt med persist-egenskaper, enkel websocket-tilkoblingshåndtering og sending av meldinger til alle lyttere. Men hva gjorde hvert stykke?
Auth & Routing (Worker + D1)
Alle forespørsler kommer gjennom Arbeideren, enten autentisert eller ikke. Hvis det ikke er autentisert, er tilgjengelige handlinger å logge inn eller registrere seg. Når den er autentisert, kan den sende forespørselen videre til en av våre Durable Objects (bruker eller samtale) for å etablere en websocket-tilkobling. All brukerens autentiseringsinformasjon lagres i en D1-database (holdt alt CF for dette eksempelet).
Brukertjeneste (varig objekt)
Vår vennelistevisning kobler seg direkte til brukerens Durable Object via websocket. Når vi oppdaterer statusen vår sender vi en melding til vår individuelle DO, som deretter kan kringkastes via RPC til våre venners DO-er og avgjøre om de er på nett for å sende dem en websocket-melding for live-oppdatering. Her lagrer vi også vennelisten vår i en SQLite-database tilpasset brukeren vår.
Samtaletjeneste (varig gjenstand)
Hver enkelt samtale mellom to brukere får sin egen DO-instans. Dens eneste ansvar er å lagre meldinger, sende varsler (via sockets) når nye meldinger sendes, og sende en varsling når en bruker begynner å skrive slik at vi kan se «Personen skriver...»
TLDR;
Å bygge apper for moro skyld for å gjenoppleve nostalgiske barndomsminner er... Verdt det.


Topp
Rangering
Favoritter
