Ho lavorato su un'app per affinare le mie capacità mentre costruivo qualcosa che mi sarebbe stato utile. È stato creato usando Ruby on Rails, ma questa domanda è per lo più indipendente dal linguaggio. Al momento sto accedendo a un'API di previsione del surf ogni giorno e mantengo una previsione rolling di 5 giorni. Per il mio prossimo passo vorrei implementare avvisi automatici via email agli utenti. I criteri saranno semi-personalizzati, un avviso conterrà giorni possibili, il "rating" della previsione e sarà contenuto negli stati selezionati dall'utente.
Quale sarebbe uno schema / modello di progettazione efficace per implementare questa funzionalità? Ecco i miei pensieri correnti -
Schema
Gli avvisi consisteranno in 7 campi booleani domenica, lunedì, martedì, ecc
Previsione preferita dell'utente "valutazione".
Sarà inoltre collegato a una tabella di join che unirà gli avvisi agli stati.
Gli utenti apparterranno agli avvisi (terranno un ID per l'avviso che desiderano utilizzare)
Attraverso la tabella di join, ogni stato avrà molte località di surf.
Una località di surf ha molte previsioni.
Implementazione
Vorrei scorrere su ogni utente che controlla il loro avviso, se esiste. Quindi, supponendo di sì, selezionerei tutti gli stati a cui volevano essere notificati, e quindi troverei tutte le località di surf in quegli stati. Da lì devo analizzare i dati di previsione per ogni giorno in cui desiderano essere avvisati e controllarli.
Questo mi sembra inefficiente e sono aperto ad altri suggerimenti.