First of all, don't worry too much about that since you said you're a beginner. We've all been there before. That said, software planning or design is a step by step procedure and requires a bit of going back and forth. For me personally, I start by preparing a specifications document listing all the features my app needs. Then I tackle them feature by feature. For each feature, I first identify the classes I need to write in order to get a particular feature working. You can easily do that by translating the nouns that pop up in your specification document to classes. Note however that you may need to break down some classes down further. Then identify what each class has to do. You can then use UML to describe the relationship between the classes so you get a fair idea how the classes interact with each other. Develop the feature, test it to make sure it's working as intended. Move on to the next feature if you're satisfied with the result. Repeat the process for all features.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.