Hello, I'm planning to start a new bigger project for a leraning purpose. I have some knowledge about Android programming, but I still consider myself as a beginner.
I don't have a whole image of the new project, I expect I'll be adding new features on the fly, because I can't predict everything before I have a basic functionality.
So I came up with an idea of making a sport/activity tracking app. The app will be very similar to Strava/Endomondo with some additional features and will lack some of them. So I am going to use geolocation API and some cloud database. The users will have a possibility to share they achivevments etc. Maybe I'll add something like nearby events for runners etc.
But I want to do it in the right, proper way. What does it mean? I want to plan, consider as much as I can before implementing. So I'm asking you, what will you recommend me? I mean it can be anything. Maybe what database will be good for that? Or some handy design pattern, or some API's, libraries etc. Should I use REST? Even though I may not use all of it, but hey, I want to be aware if something exists, maybe I will use it in the future. Learning is good.
The only thing I am sure about is that I am going to use Kotlin instead of Java. I've never been doing anything with Kotlin, but it's my decision to learn it.
I expect some nice discussion. Thank you.
I don't have a whole image of the new project, I expect I'll be adding new features on the fly, because I can't predict everything before I have a basic functionality.
So I came up with an idea of making a sport/activity tracking app. The app will be very similar to Strava/Endomondo with some additional features and will lack some of them. So I am going to use geolocation API and some cloud database. The users will have a possibility to share they achivevments etc. Maybe I'll add something like nearby events for runners etc.
But I want to do it in the right, proper way. What does it mean? I want to plan, consider as much as I can before implementing. So I'm asking you, what will you recommend me? I mean it can be anything. Maybe what database will be good for that? Or some handy design pattern, or some API's, libraries etc. Should I use REST? Even though I may not use all of it, but hey, I want to be aware if something exists, maybe I will use it in the future. Learning is good.
The only thing I am sure about is that I am going to use Kotlin instead of Java. I've never been doing anything with Kotlin, but it's my decision to learn it.
I expect some nice discussion. Thank you.