Building A Startup App From Scratch

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
all right let's do it [Music] alright so i may have just done something stupid and so before i show you i just want to say welcome back to another startup vlog this is the vlog where i build my startup app which is the app that i've been trying to build ever since i got started with programming which is a workout tracking app i may have just cut my own hair so don't judge me too hard i know that probably most you guys don't care but here we go all right um like i said most of you guys probably don't give a about what my hair looks like anyway welcome back to another episode and uh in this one we're gonna pick right back up where we left off which is trying to get this firebase database built and structuring the database getting all that set up for this app so yeah actually let's start back a couple days ago where i actually started to structure out the database and figuring out how to even visualize and like put this database together [Music] all right so uh it's pouring down with rain outside right now and it's almost pitch black in the apartment even though it's like 10 or 11 a.m something like that and i've just been procrastinating so far today so i'm gonna stop procrastinating now and i'm gonna get to work on actually figuring out how to build the database that i want to build for the app that i'm trying to work on and what i'm going to do is i'm actually going to do this on paper because i need to just visualize what i'm actually going to keep in the database before i get started with just programming it or building it out on firebase which i've never done before so i think that just structuring out on paper will be a really good thing and i really recommend doing this because it's a really good way to just visualize what you're going to keep in your database and just get an idea for what you want to build before you actually build it so putting pen to paper is not actually that bad of a thing so we're going to start out here just trying to structure it in some sort of way and then we're going to go to the computer and try to build it out as well [Music] all right so now i've created sort of a mock-up design or like structuring my thoughts really is what i've done here on this paper and now i'm gonna take what i've written down here and i'm going to turn it into some json just to kind of get my mind around even more about like how this is actually going to look inside a database because once i have a json thing written out then it'll be way easier for me to actually turn that into the firebase database that i'm gonna use now with that said like i have no idea how to work with firebase and create a database on there because i've never done that before if i get this written out in json at least it will be way simpler for me to actually create it in firebase hopefully be able to figure out some of the questions that i have right now in my head as i've been thinking about all this all right so this is what we got now probably doesn't make too much sense unless you're you've been trying to build a workout tracking app before but to me this is some basic json a json template that will sort of help me understand how to put that into firebase so now let's go and just put that into firebase but before we do that i'm gonna actually try to cut my hair because this is what we're dealing with right now [Music] let's just cut it [Music] all right what do you think of this my really good viking hairstyle slash mullet haircut all right i'll get back when i've finished cutting the rest of them [Music] all right so that's my hair gross all right it's done and honestly i actually feel pretty good about it so yeah it's really strange to see myself without like the the massive thing but i guess like since i've also used a hair tie a lot it kind of isn't too big of a difference anyway i like it who cares let's get back to programming let me know what you think and what did i say let's get back to not programming it done stopping for food this is actually a subway and i think that i'm eating something that's a bit different from what most people eat when they go to subway and one of the real reasons that i really like subways that you can make your own sandwich so what i have here is actually well it's just chicken lettuce and peppers and like cucumber anyway i'm gonna eat this and then we're gonna keep driving hopefully we'll get to the place that where i want to go soon and the reason why i wanted to actually go somewhere is because sometimes i like to just switch the scenery up a little bit and going to this place is a really good way to switch that up and to be a little bit more in nature than to be at home in the apartment so yeah we're gonna get there soon [Music] he doesn't see me okay this is kind of crazy because like just as i came up here there's a deer just standing in the yard it doesn't seem to care he saw me [Music] i already got here [Music] all right so good morning um it's the day after and i've been procrastinating again i still haven't gotten the database done i will get it done today though i'm gonna i'm determined to get it done and i'm gonna get it done because i wanna get to the point where i can actually use this app and right now i'm just stuck feeling like i don't know where to go i've been looking at all these tutorials i'm gonna get it done today it's really early and i'm determined so let's go [Music] all right so excuse the poor lighting i've learned a couple things in the past few hours i've basically been trying to read up and learn a little bit more about firebase and how it works so that i can get started and what i've learned is that firebase is apparently a json basically just stores a json file for you or something along those lines uh it's essentially just a json tree i think that's what they said and that's really good news because i'm fairly comfortable with working with json which means that the best way to get started with this for me right now is to fully spec out and like try to create proper json file with some sort of structure for a user and tracking the workouts and all that stuff for this app and that gets me pretty excited because i don't know if you guys know this but like this app is the reason why i started programming so i feel like i need to finally get to the point where i actually finish this app so that's really good news because now i can just get started with that try to finish up a json file that has some sort of structure so i'll try to figure that out and then i'll get back to you once i've done that [Music] all right so now i think i've created a basic template for what the json will look like for the database so what they say is that you should avoid nesting as much as possible in the database so let's say that you have a bunch of users here they've listed out and each one is a different user each one has workouts and each workout has all of this information in it and it has all the different workouts that you've done over like an entire year as far as i understand it you want to avoid nesting stuff as much as possible that's what they call it and you want to maintain a flat structure and this means essentially that we want to try to avoid making these tab things go too long we want to try to keep everything as flat and as close to the left side of this terminal window as possible if you want to find a workout that i've done then we'll request first users and then we'll get cal and then we'll get this workouts list which basically is just a list of dates for different workouts so then what we can do is we can get that date and then we can request all the workouts that we have in the database where we don't have to request all of the workouts we can just in the request we can send that we want the workouts and we want the workouts for cal and we want the workout for this specific date and that means that we will only get the workout for that specific date and not all the workouts that i've done since i started using the app and we won't get all the workouts that everyone else has done since they started using the app which is essentially what we want to avoid we want to try to create nice solutions for basically making very specific requests as much as possible at least that's how i understand it i don't understand it perfectly but i think i've done it right i hope so so this is essentially a little example of what that might look like so we have a user's thing object thing here where you can basically have a bunch of different users right now i've just created one which is cal and we have the name we have the height we have the weight and then we have a workouts list which is basically just the list of dates and then we have exercises as well which is a list of the different exercise names that we've typed in into the app and one of the main ideas that i have with the app is that you shouldn't be limited to pre-determined exercise names that someone else has come up with you should be able to name the exercises whatever you want and it should be able to track those exercises whether you name it like a standing jumperoo for a skipping rope or something you should be able to name it whatever you want now that we have this list this means that we can then track our maxes for each exercise and our progress for each exercise a lot simpler because now we can just get the name for an exercise that we've tracked that this user has tracked and then we can go down to our maxis and we can request the maxes for this specific user and we can request all the maxes for that specific exercise that we want to look at i don't know if all this makes sense because i feel like it might be a little bit too niche towards like if you know about exercising but it doesn't matter too much right now this is at least as far as i've gotten and i think that this is what i need and now i need to basically turn this into or add this to firebase to make sure that it can track it and then we can start building out the ui for the app to actually start using this data okay so it turns out that you just basically take the json file that you've created if you created one that should be your database and then you could just go to firebase and just import the json file that you created and it will automatically create this really neat list for you or like the database for you essentially i think still not really sure but i'm gonna try this and see if i can load some of this stuff into my app all right so i just went outside for a little bit and i found a sleeping fox but i didn't bring my camera so now i just like ran back i'm gonna take the camera so hopefully we can find it remind me to always bring my camera in this like from now on [Music] i need to stop filming myself walking because i don't know how much time i have hopefully since he was like sleeping or it was sleeping it will probably stay there because it was like in the sun so i'm hoping that we'll be there for a while [Music] all right now we're getting really really close i'm gonna turn off the camera keep walking just above this little hill and he should be right on the other side oh my god he's still there okay so he's literally right there i don't know if you guys can hear me at all but there's a fox right there i'm gonna change lenses and see if i can get like a zoom lens of him he's sleeping he probably doesn't hear me this is amazing [Music] wasn't that just amazing i'm gonna see how close i can get to him or her i've spent probably like two hours maybe here [Music] all right so uh i'm back home now and for the past couple of days i've been working on trying to figure out like how to work with firebase how to load the data from firebase into our app just so that we can basically like print something from the database that's all i'm trying to do and the main thing that difficult right now is that i want to set it up in the right way from the start so what i'm trying to do is i'm trying to use this like block pattern i guess it's like a way to handle the the api requests and loading the data from the database and all of that sort of stuff that's what i've been trying to figure out for the past couple of days there's just so much stuff about this that it feels like it's just way over complicated for what i'm trying to do but at the same time i'm kind of scared that if i go ahead and like start building this thing out without properly organizing this stuff then it will make it way harder further down the line because then i'll have to rebuild all the stuff which will take a long time to do it's usually better to just do it right from the start because then you have organization of your all your data and all the stuff so it means that you have these separate files where you have each thing is basically just responsible for one simple thing which means that it will be way easier to then problem solve and like fix different things if a bug comes up i'm trying to figure this out i hopefully can at some point but right now i've gotten to this point following this like ray wonderlish tutorial it's not using firebase so it's using a pre-made public api that kind of leaves me stuck i'm trying to figure it out i'll come back once i've solved this or once i have been able to load something from firebase into this app [Music] all right so uh so far what i've done is i've created these separate files for each class that i'm gonna build for the database that i'm working with this is what the database will look like or this is what will be stored in the database now i've basically created a class for the workouts a class for exercises a class for sets and a class for maxis and a class for users when we request a workout we'll get back this from the database so essentially we need to then parse this string into an actual object in our app and so that's what i've been doing here i've basically created these two string methods which will basically convert the object from our app into the json or the string that you see here and then i've also created this from string thing that will basically convert the string to an actual workout object in our app so this should now work this is the models folder that's where i put that not sure where it's supposed to go i can't figure out how the block pattern works what i'm going to do now is i'm going to figure out how to request the data from firebase and then try to load pre-written workout from the database just see if i can print it or something like that in our app when we run it and if i can figure that out then we're pretty damn close so i'm gonna try to do that now [Music] all right finally i'm able to get this to work it turns out i had to map it to json for it to register properly in this sort of way on the in the database but right now if we run this app then what i've done here is in the main i'm basically just calling this function which i've created here in the workout block probably not the best way i'm going to try to figure out how to make this the way that it's supposed to be but for now this works and i'm able to able to actually save a workout to the database i've created this test workout up here and it should basically get added here it doesn't get added in the way that it should get added because i haven't bothered with that yet i'm just trying to figure out a way to get it to the database which is now possible so now if i run this we get a new little thing here a new entry in our database which has some id and if we press this button here we get the date or the timestamp of the workout and then we get the exercises that we've done which is a list here exercises the first exercise is test and then we have some sets here first set was 12 reps 120 second rest one just one set in total and then 100 kilos so now this is supposed to get added under the cal tab thing it should get added so if i add a new workout it should basically get added to the user that has done the workout and not just get added to the database randomly so that's the next step but for now we're going to leave it there i've figured out how to get firebase to work in a sort of basic way at least so i'm pretty happy about that all right so that's pretty much it i guess we're done for today that's for this video that's basically what i had as a goal for the video as a whole to just get the firebase thing to start working and so that i can then move on to starting to actually build out the actual app and like saving stuff to the database doing all that stuff which is a lot more fun than what i've been working on in the past couple days so uh please let me know if you have any ideas for like articles or resources that i can look up for learning how to work with block or firebase in general because as you can tell i have no idea how to do any of this yeah other than that i just hope you enjoyed this video even though it was a bit random with a lot of different things to happening i hope that was somewhat interesting to watch at least i'm trying to show this in a way where it's like honest and it's the true life that i'm living right now like actually showing what i do and how little or much i work on this app as i get it built out and hopefully this will be interesting to see like once i actually get this app published we will have a long list of videos that document the process of taking this from just a an idea to an actual finished app and you know what am am i going to be the next billion dollar startup founder i really can't say but yeah i am that's it for this one i hope you enjoyed it i i'll see you in the next one i saved a life my own am i a hero i really can't say but yes
Info
Channel: Kalle Hallden
Views: 131,726
Rating: undefined out of 5
Keywords: how to build a startup app
Id: vxW9VkJ55Pc
Channel Id: undefined
Length: 21min 41sec (1301 seconds)
Published: Fri Oct 29 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.