Design Document - MarcSelles/BeatYourBucketAndroid GitHub Wiki
Wat houdt Beat Your Bucket in?
Het bedrijf Beat Your Bucket is opgezet door 5 studenten met diverse studies. Voor hun gezamenlijke minor Entrepreneurship hebben ze de site beatyourbucket.nl opgezet (de site is echter nog niet online voor een normale gebruiker). Hier kunnen gebruikers zogenaamde bucketlists opzetten en daarbij hun vrienden uitdagen om mee te doen. Bucketlists zijn lijstjes met activiteiten, challenges genoemd, die iemand gedaan wilt hebben voordat hij 'sterft'. Wanneer deze activiteiten voltooid zijn moet de gebruiker hier bewijs van inleveren in de vorm van een foto en/of een verhaaltje. Wanneer dit gedaan is krijgt de gebruiker daar punten voor, waarbij uiteindelijk degene die het meeste punten heeft wint.
Wat moet de app doen?
Het Minimum viable product is dat de gebruiker via de app challenges zou kunnen bekijken. Daarom is het dus een โon-the-goโ app. Een nice-to-have feature zou zijn het toevoegen van bucketlists en het toevoegen en voltooien van challenges. Bestaande bucketlists zouden opgehaald moeten worden uit de server. Voor de nice-to-have feature kunnen vervolgens challenges toegevoegd worden aan de bucketlist of kan de bucketlist zelf aangemaakt worden. Ook kan het mogelijk zijn om de challenges te voltooien, waarbij er een foto gemaakt kan worden met de camera van de smartphone als bewijs.
Features
MVP:
- Inloggen via Facebook
- Bucketlist bekijken (lijst van challenges)
- Bucketlist bekijken (voltooide challenges van deelnemers)
- Bucketlist bekijken (scores van deelnemers)
Nice-to-have:
- Bucketlist aanmaken (+ vrienden toevoegen)
- Challenge toevoegen
- Challenge voltooien (direct foto maken)
Welke data is er nodig en hoe wordt er aan deze data gekomen?
De data voor de bucketlists, challenges, gebruikers etc. zal nodig zijn voor de app. De API die hierbij nodig is, wordt zelf door ons gemaakt. Daarmee zal de benodigde data opgevraagd kunnen worden en in de app gebruikt kunnen worden. Gebruikersgegevens zullen door middel van Facebook opgehaald worden. De data die momenteel in de database gebruikt worden zijn de volgende:
Hierbij moet wel opgemerkt worden dat niet daadwerkelijk al deze data gebruikt zal worden. Friendships wordt er bijvoorbeeld uitgelaten.
Hoe gaat de app er uit komen te zien?
Op het home-scherm zijn foto's of beschrijvingen te zien van afgeronde challenges uit je bucketlists. Een soort newsfeed. Onder zijn 3 knoppen zichtbaar, waarbij de middelste de home-pagina is en daarom al ingedrukt is. Met de linkerknop kom je naar je bucketlist overzicht en met de rechterknop naar je profiel.
Op de bucketlist overzicht pagina kun je een bucketlist uitkiezen waar je informatie van wilt hebben. Op deze bucketlist pagina zijn de challenges te zien die nog gedaan moeten worden. Bovenaan kun je ook naar de voltooide challenges en de stand in de bucketlist.
Op de profiel pagina is je profielfoto te zien met je naam en de mogelijkheid om uit te loggen. Deze pagina is expres simpel gehouden, zodat alleen de noodzakelijke informatie te zien is.
Welke verschillende delen komen er in de app?
Allereerst moet er ingelogd kunnen worden door middel van Facebook. Hierdoor kan de gebruiker zijn account op. Vervolgens komt het bucketlist deel, waarbij bucketlists geselecteerd worden,scores bekeken worden en challenges bekeken worden. Indien de nice-to-have features nog voltooid kunnen worden, kunnen deze challenges ook voltooid worden. De gebruiker zal door middel van zijn mobiel makkelijk het bewijs kunnen uploaden en hiervoor zijn punten ontvangen.
Hoe wordt er gewerkt?
Door middel van Eclipse zal de Android app gemaakt worden. Hierbij wordt de programmeertaal Java gebruikt en de layout in de vorm van xml.
Wat zijn mogelijke problemen?
De problemen waar we tegenaan zouden kunnen lopen zijn het inloggen via Facebook, aangezien de app een eigen Facebook id meekrijgt, en het maken van een goede API.
Wat voor vergelijkbare materialen zijn er te vinden?
To-do apps zijn iets wat vergelijkbaar, maar aangezien de design van de Beat Your Bucket app zal aansluiten bij de site zal hier niet te veel naar worden gekeken.
Welke verschillende soorten classes worden er gebruikt?
De classes die gebruikt gaan worden zijn:
- User
- Bucketlists
- Challenges (subclass Bucketlist)
- Voltooide Challenges (subclass Bucketlist)
- Stand Bucketlist (subclass Bucketlist)
- Updates challenges
- (Nice-to-have) Completed challenges (subclass Challenge)
De User omvat de informatie van de gebruiker. Dit zijn de gegevens die door middel van Facebook bemachtigd zijn. Een bucketlist bestaat uit een aantal challenges. Ook kan gezien worden wat andere gebruikers voltooid hebben in deze bucketlist en wat de stand is. Ook is er een overzicht van voltooide challenges van alle bucketlists waar een gebruiker inzit.