I'd like to create an app to get better at coding, and I would like it to be about mental health. Good idea or no? How to get started?

First let me say how grateful I am for the help I have already received on Reddit. Great community. I have already Googled this question but I’d like to go more in depth.

  • I’m aware that there are already apps like this like Calm on the market, but I am not a pro dev (yet) I want to do this for the experience.

  • I’m self-taught, making my way through various online resources. Most people I’ve spoken to tell me to get my hands wet and actually code something instead of just doing projects - something that really takes me out of the theoretical into the practical.

I am a longtime sufferer of mental health issues, so this was a no-brainer. I could also make a small game or tune an existing app (I’m currently using a few that I wish had greater functionality)

My idea for this app would that it would send a notification at certain times to ensure the user does self-care, has enough sleep, exercise and makes sure to love themselves. A simple implementation for my first project.

  • I would probably use either Python or Java as I am familiar with both languages.

  • How do I actually get started? Fire up Android Studio, write code and then put it on Github? Is it ok if I take from existing source code as long as I ask permission first?

THanks for your time.

It is important that you don’t stop making apps. It doesn’t matter if the projects already exists, it matters that are still learning. As long as you learn it’s good. So, don’t get bothered by the fact that some app already exists. What I would recommend you is that you do as much of the things you can all by yourself, of course, you’ll need help sometimes and that’s ok. And later, if you can find source code of someone else who already did the same compare your codes. Also, it would help if you read other’s code as well, and if you can find someone who can lead you while you learn. It’s not must, it is recommended.
And keep in mind, if you don’t land job with your first project, second or third, it doesn’t mean that it is impossible. Never lose hope! :smiley:

Programming is like the second-to last step (the last is QA I think).
You start by making a plan of how the program should work.

Namely writing down what it should do and maybe making some charts on what this implies. Given sending some pre-written messages at specified times, this step shouldn’t be to long. But if you happened to write a more complex program, maybe some that calls some API or other modules, this can get more complex. Even so complex you can no longer do it and need another way to plan out the program ^^°

Then you prepare your hardware. Where will the program run, how it will work there?
If it’s an app running in the background, that’s again no big deal. If it would run on the internet, you might need to think about hosting platforms and whatnos.

When that is done and you want to use versioning via git, you’d start by making an empty repository and link it to your project. However if you only plan on uploading the final product to git, skip that step.

Once this environment is set and you already have a decent plan on how the program should work, you start programming.
As for using existing code, it depends on WHERE it exists. Someone just posted a random snippet on stackoverflow in response to a question? Copy-paste, that’s the intended purpose.
Someone wrote a full program on Git? Look at the licence and maybe ask.
Someone wrote a program and you find two specific lines good? Again copy-paste. It’s code, not the invention of the super-wheel, the way it’s done there is propably the same it’s done in thousands of other programs.

1 Like