#Nodejs Mongodb internal server error
Sain internal server errorin poistettua jo keskiviikon tunnilla (kyseessä oli tuolloin vain väärin nimetty funktio). Tänään koitin saada yhteyden Mongodb:hen ja internal server error ilmaantui aina kun yritin lisätä tai muokata koodia. Ainoat lisäykset joita sain tehtyä oli console.log viestit, jotka nekin tuntuivat mielivaltaisesti ilmaantuvan tai olevan ilmaantumatta. Koitin RockMongolla lisätä Mongodb:hen 'Books' tietokannan, jotta olisin saanut keskiviikkona yhdessä lisäämäämme server.js tiedoston avulla kaivettua sieltä dataa. Ei onnistunut. Oikeastaan koko päivä meni aika turhautuneissa merkeissä, kun koitin saada käsitystä miten kaikki sovelluksen osat toimivat. Epäloogisen oloista sillisalaatia omassa päässä vielä koko homma, mutta eiköhän se ala kirkastua, kun saa ensimmäiset datat ongittua itseluodusta tietokannasta.
#Reseptin mallinnus
Toivottavasti en nyt ymmärrä tehtävänantoa aivan väärin, mutta mietin tänään tietokantaa yleisesti. Olen luonut aiemmin relaatio tieto- kantoja enkä ole vielä ihan perillä, miten tämä minulle uusi malli toimii. Kun aiemmin tein samaa sovellusta, oli minulla erikseen reseptitietokanta(ID, NAME, RECIPE), ainestietokanta(ID, NAME) ja liitostaulu joka liitti aineksen reseptiin. Lisäksi minulla oli kategoria- ja käyttäjätietokannat mutta niitä en lopulta kerennyt valjastamaan. Mietin että 'recipes' tietokanta voisi sisältää ainakin seuraavat tiedot:
*ID
*NAME
*RECIPE
*GATEGORY
*INGREDIENTS
*TIME (valmistus aika)
*PRICE
*MACHINES (tarvittavat kodin koneet)
*IMAGE (URL)
*STARS (Reseptin suosio)
*VIEWS
*HOT (tulisuus (voisi mennä myös gategoryn alle))
*CALORIES (tai muuta ravinto/terveys dataa (ehkä voisi reseptin aineksista yrittää päätellä jotain)
Jos ravinto/terveys dataa päättelisi aineksista, pitäisi ainekset ehkä eriyttää resepteistä (collection?), jotta aineksille saisi omaa dataa.
Käyttäjä tietokannassa olisi käyttäjän perustiedot ja autentikointiin liittyvät tiedot, sekä yhteys käyttäjän ainestaulukkoon. Käyttäjän ainestaulukossa olisi ainakin käyttäjän keittiön raaka-aineet tallennettuna, käyttäjän aiemmin valmistamat reseptit ja käyttäjän omat reseptit. Olisi hienoa jos sovellus lopulta oppisi tuntemaan käyttäjät ja suosittelemaan uusia reseptejä. Ehkä usein käytetyistä aineksista, käyttäjän suosimista kategorioista ja ravinto/terveys datan pohjalta voisi yrittää saada aikaan suosituksia.