General things

·

3 min read

Hi! I made this blog for documenting the progress of my matura thesis. My goal is to code a period tracker as an Android app with Java. In this post, I want to share the why and how.

Why did I choose this as my matura thesis?

(Btw, "matura thesis" might sound a little bit high and mighty. It's basically a paper that high school students in Switzerland have to write at the end of their school time. You can do a practical or theoretical MT - I'm doing a practical MT.)

One of my interests is computer science. Therefore it was clear to me, that my MT will be in this field. Another interest of mine is road cycling (or endurance sports in general). So I searched for an idea that combined these two. And that's how I got the idea of creating a period tracker that gives the user training recommendations based on their menstrual cycle. (This app shouldn't replace a real coach or body awareness. This app should help the user to understand their menstrual cycle and give them information to base their training on.)

Why Android? I chose to develop a native Android app because I'm an Android user myself. Also, it is recommended to start with native app development if you're a beginner in this field since cross-platform development requires an understanding of native development.

Why Java? If you already know something about Android app development, you're probably wondering why I chose Java instead of Kotlin. I chose Java because it is widely used in so many types of applications (I know, Kotlin is also used outside of Android app development). And through coding this app I can learn Java. If I were planning to work more in the field of Android development, I would learn Kotlin. But I think this is the only app I'll ever code. Therefore I think Java is the better choice for me. Btw, I use Android Studio.

How do I plan to do this?

Honestly, I know very little at the moment about app development. So my currently planned approach might not be the best. Btw, I'm always open for criticism etc.!

First of all, I want to acquire a good understanding of Android development with Java. I already started with this course: https://www.youtube.com/watch?v=fis26HvvDII&t=12443s

I also have to acquire knowledge about the menstrual cycle and its impact on athletes. (But generally, the focus of my MT will be the coding part.)

When I'll have enough knowledge, I'll start designing a mock-up and building a minimum-viable product. This MVP should be able to: Receive from the user when her period started and use it to calculate and output when which phases of their cycle are and what they should exercise then. In addition, there should be a small note function with which the user can enter daily whether she had pain, how she exercised, etc.

If I have still some time left, I would expand this MVP.

I have no idea if this is going to work (I never coded an app in my entire life and I'm a professional procrastinator). I'm kinda scared. Anyways, thanks for reading!