⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠ You can decompress Drawing data with the command palette: ‘Decompress current Excalidraw file’. For more info check in plugin settings under ‘Saving’

Excalidraw Data

Text Elements

Giveaway lifecycle ^tZEM4PDX

frontend ^ww0Qzaux

giveaway form ^u83ebGEz

database ^ZyJrS8Te

frontend validation ^PvBsQ2Ow

validation/business rules (RLS + check constraints) ^XxJUmNQT

giveaway ^HQzAizz2

giveaway_bot_config ^obcHxUjk

giveaway_collaboration ^BsS3ddfg

giveaway_secret ^Z7EzhVze

giveaway_requirements ^GBKY3Oqi

server validation/data transformation ^KkHvNRhx

next.js server action ^BSJeA4Tq

cron jobs ^9LVJTCoH

check for upcoming giveaways every 30 seconds ^07d1VVw6

check for expiring giveaways every 30 seconds ^6xlFAKnD

check for giveaway winners every 5 minutes ^PliHb7V3

/q_giveaway_winner ^XHDaaVRv

/q_giveaway_expired ^yJLCQ3Z4

/q_giveaway_upcoming ^lOJAw4BR

next.js API routes ^SJkUn6Ns

/api/jobs/giveaway ^X5uKACUX

bots ^K4fRReYa

cache ^EBn8DhTR

giveaway status message queues ^s1jWhGkL

status = upcoming or draft ^V949aztQ

insert ^0y6c1wB8

update status ^DjT6RTfm

notify ^83eOWnvO

giveaway winner ^W6nxJIeB

insert ^pNMhjuJA

revalidate ^ZDVsB6En

next.js ^wVhLHqT7