Hulp bij inrichten database

Status
Niet open voor verdere reacties.

Malibuux

Nieuwe gebruiker
Lid geworden
14 nov 2016
Berichten
3
Hoi Allemaal,

Vandaag ben ik - na heel lang uitstellen - eindelijk begonnen met een kleine applicatie voor mijn studentenhuis.
Ik woon in een studentenhuis met 18(!) man. Dit is erg gezellig en vooral ook omdat er veel dingen samen gedaan kan worden met als meest voorkomend: Gezamenlijk eten. Natuurlijk kan niet altijd iedereen mee-eten en is het dus handig als dit bijgehouden word. Zo kan er tijdig boodschappen gedaan worden en scheelt dat wat gezeur :)

Het idee:
Een mobiele website waarin mijn huisgenoten kunnen aangeven of zij willen mee-eten of niet. Natuurlijk moet er ook een mogelijkheid zijn om je weer af te melden mocht er iets tussen komen. Ook moet de data bewaard worden. Bijvoorbeeld: Ik wil graag weten wat er 2 weken geleden gegeten is en wie daar bij waren, want ik heb de kosten nog niet gedeeld.

Ik doe nu een opleiding applicatieontwikkeling, dus de applicatie maken moet denk ik wel lukken met de kennis die ik heb, alleen heb ik wat moeite met de database. Iemand een idee hoe ik dit het beste kan doen met de informatie uit dit bericht? (Mocht er nog aanvullende informatie nodig zijn geef ik die graag!)

Alvast bedankt!

PS. Ik weet dat er erg veel applicaties zijn die dit doen, alleen zijn deze toch niet prettig te gebruiken of zijn er iets te veel functionaliteiten. Bovendien vind ik dit een erg leuk project om mezelf bezig te houden:P
 
Laatst bewerkt:
Een flink deel van de database is afhankelijk van de functionaliteiten in de app.

Wat je nu beschrijft is een beperkte functionaliteit waarbij HUISGENOTEN (= tabel)
hun aanwezigheid kunnen vastleggen (JA/NEE)
met betrekking tot een bepaalde datum (tabel DATUM of tabel MAALTIJD)

Met gebruik van een veld WIJZIGINGSDATUM (type Timestamp) kun je steeds de meest actuele status van een huisgenoot bepalen (ook na diverse aan- en afmeldingen voor dezelfde datum/maaltijd).


Mogelijke uitbreiding:
Nice-to-have:
  • Standaard maaltijden met gebruik van steeds dezelfde ingredienten in dezelfde hoeveelheid (handig voor bepalen van noodzakelijke aanvulling in de keuken)
  • Vastleggen van betalingen en/of betalingsachterstanden.
  • Voorkeuren van huisgenoten voor bepaalde gerechten of "keukens" (Italiaans, Mexicaans, Chinees, e.d.) om bij een beperkt aantal aanwezigen de meest favoriete maaltijd te bepalen.
 
Hoeveel studentenhuizen zijn er in Nederland?

Als je van het begin af aan deze app een beetje leuk uitbreidt en 'm goed verzorgt (qua uiterlijk én qua onderhoud) kun je d'r misschien wel een betaalde app van maken.
 
Wat je nu beschrijft is een beperkte functionaliteit waarbij HUISGENOTEN (= tabel)
hun aanwezigheid kunnen vastleggen (JA/NEE)
met betrekking tot een bepaalde datum (tabel DATUM of tabel MAALTIJD)

Met gebruik van een veld WIJZIGINGSDATUM (type Timestamp) kun je steeds de meest actuele status van een huisgenoot bepalen (ook na diverse aan- en afmeldingen voor dezelfde datum/maaltijd).

Hoe zit het dan met terugkijken van data, dat ik zegmaar de mee-eters van gister krijg te zien? Hoe wordt dat geregeld in de database.
De tabel huisgenoten met ID, Naam etc snap ik wel. Maar hoe doe ik dat met de datums..

Mogelijke uitbreiding:
Nice-to-have:
  • Standaard maaltijden met gebruik van steeds dezelfde ingredienten in dezelfde hoeveelheid (handig voor bepalen van noodzakelijke aanvulling in de keuken)
  • Vastleggen van betalingen en/of betalingsachterstanden.
  • Voorkeuren van huisgenoten voor bepaalde gerechten of "keukens" (Italiaans, Mexicaans, Chinees, e.d.) om bij een beperkt aantal aanwezigen de meest favoriete maaltijd te bepalen.

De betalingen regelen wij al via wiebetaaltwat.nl(heilig voor ons), de andere functionaliteiten had ik ook al op mijn papiertje staan :P

Hoeveel studentenhuizen zijn er in Nederland?

Als je van het begin af aan deze app een beetje leuk uitbreidt en 'm goed verzorgt (qua uiterlijk én qua onderhoud) kun je d'r misschien wel een betaalde app van maken.

Er zijn al veel van zulkgelijke apps (Happening bijvoorbeeld)
 
Het terugkijken doe je door te zoeken op een specifieke datum.

SELECT * FROM [tabel]
WHERE date LIKE '2016-05-05'

Daarbij moet je dus een query maken met een variabele datum die je ergens invult
 
Het terugkijken doe je door te zoeken op een specifieke datum.

SELECT * FROM [tabel]
WHERE date LIKE '2016-05-05'

Daarbij moet je dus een query maken met een variabele datum die je ergens invult

Die snap ik, thanks. Nu is alleen nog even de vraag wat voor tabellen ik nodig heb en welke kolommen daarin moeten zitten.
Tot nu toe kom ik tot hier:

Huisgenoten
- ID (auto_inc)
- Naam (varchar)
- Aanwezig (bool)

Datum
- ID
- Dag

Gerechten
- ID
- Naam

Maaltijd
- ID
- Gerecht
- Koker
- Boodschapper
- Dag


Databases is altijd een zwak punt geweest voor me, dus wat hulp kan ik daar goed bij gebruiken haha.
Ik ga er even van de minimale functionaliteiten uit:
- Aangeven of je mee eet of niet
- Aangeven wat je voorkeur voor eten is
- Aangeven of je boodschappen wilt doen
- Aangeven of je wilt koken
- Overzicht wie er mee eet.
- Overzicht wie er boodschappen doet
- Overzicht wie er kookt
- Overzicht wat er vorige dagen gegeten is/gekookt heeft/mee aten
- Mogelijkheid om je keuzes te veranderen

Dit zijn natuurlijk functionaliteiten die ik moet gaan programmeren, maar wat is een goede database structuur erachter?
 
Laatst bewerkt:
Een tabel met Datum: Wat voor datums staan er in? "Wanneer er gegeten kan worden?"
Ik zou dit een betere naam geven in wat voor soort datums dat zijn.

Ik zou een tabel maken met deelnames, waarin je per user(ID) aangeeft welke maaltijden(ID) hij/zij aan deelneemt. Dan heb je al een mooie tabel waarin je kan zien wie er uiteindelijk deelneemt.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan