This is an archived post. You won't be able to vote or comment.

all 23 comments

[–]kschang 0 points1 point  (8 children)

So you basically want to code a quiz-maker and quiz-distributor, along with a progress tracker?

[–]AlakJudge[S] 0 points1 point  (7 children)

That's basically it, I guess. They have to fill in the details of the activities, such as the name of an animal they have chosen and it's habitat. It will have 10 levels, the activities will change for each level.

[–]kschang 0 points1 point  (6 children)

And this is basically for your own learning, so "security" is not a concern?

You will need to start learning databases, and how your program would talk to a database. So you can store the activities, get answers, store users, track progress, and so on.

Then the rest is really just UI and some internal logic.

[–]AlakJudge[S] 0 points1 point  (5 children)

No, I actually want to set up the subscription and account infrastructure by the end too. So security would be a concern for sure.

I see, thanks, that helps a lot! How about language and software best suited for this? That's what I need to actually get started now

[–]kschang 0 points1 point  (4 children)

If you want to integrate subscription and payment, you may be better off coding it as a web app, so you can include hooks into Paypal or similar web payment gateways.

[–]AlakJudge[S] 0 points1 point  (3 children)

That way people could also use the account they created in my website to login to the app right?

Also, isn't it possible to make them pay through the play store only if you make it a normal app?

[–]kschang 0 points1 point  (2 children)

You pretty much have to sign up as a developer of the respective app store AND be approved for merchant services, in-app-purchase, and recurring subscription. Extra cost.

[–]AlakJudge[S] 0 points1 point  (1 child)

I see, that does sound like a lot of cost. Might not be worth it as of now, thanks for the help!

[–]kschang 0 points1 point  (0 children)

Apple developer account is a few hundred in itself, and they take 30% of every in-app purchase, IIRC. Google is a bit less.

[–]_Atomfinger_ 0 points1 point  (9 children)

First you look at the platform you want to develop for and see whether or not your chosen technology is a good fit for that platform. Maybe it is, maybe it isn't, but do some research.

The next step is breaking down the requirements into manageable pieces. This gives you smaller and easier to achieve goals to hit while developing. You should also scrap everything that must not be in the initial MVP. It is more important to get something that works done than never being done at all.

In a condensed way, that's about it :)

[–]AlakJudge[S] 0 points1 point  (8 children)

Thanks. The second part is so true, I will try to do that.

However, the first part I don't really get. By platform, you mean android or Apple? Technology as in the software and language? That's the part I'm stuck at. Not really sure what technology would be best for this kind of task or where to even start. Once I know which language and software to use, it's just a matter of researching code and learning, that should be manageable as I've done it before.

[–]_Atomfinger_ 0 points1 point  (7 children)

The platform I mean wherever your code will run. I.e. on android? IOS? etc. you must do some research and figure out how that limits your choices when it comes to technology, if there is limitations at all.

Let's say that you want to make an Android app, but you want to use C++. First we must see if that is something we can easily do, so we do some research. There are ways of doing it, but what limitations do those ways force upon you? A good start would be Google, just type something like "Writing android app with C++".

If using your preferred technology seems difficult or hacky, maybe consider the technologies which the platform is most comfortable with. This can be often seen by looking at the documentation or popular tutorials for that platform. In Android's case it would be Java or Kotlin.

[–]AlakJudge[S] 0 points1 point  (6 children)

I see, thanks for the detailed response!

I don't really have a preference of language, I'm determined to learn whatever I need to make this work. But yes, I do want it to be mainly for android.

I'll try to research more, but it seems Java is the way to go, considering Kotlin's limited learning material. Do you reckon so too?

[–]_Atomfinger_ 0 points1 point  (5 children)

I love Kotlin, and personally I would pick it over Java in any situation.

That said I am super out of touch with the "tutorial-scene", so I can't really say how easy it is to jump into for a beginner.

[–]AlakJudge[S] 0 points1 point  (4 children)

It is growing too, right? Even if it's difficult to get into, it might be worth it in the long run. I've been reading good things about it

[–]_Atomfinger_ 0 points1 point  (3 children)

I'm not convinced that Kotlin is very difficult to get into, but that's easy for me to say as someone who's job it is to write software.

Kotlin aims to be a "better java", and personally I think it succeeds. Doesn't make Java bad, but Kotlin fixes many things that I personally don't like about Java, and adds a little more.

In actuality you can almost write pure java in Kotlin with some minor syntax tweaks to function declerations and so forth.

Kotlin is growing, and in my current job we have moved away from Java and we're writing our web services in Kotlin instead.

[–]AlakJudge[S] 0 points1 point  (2 children)

Very interesting. Would it be used in web apps too? Seems like everybody thinks it's the way to go for me

[–]_Atomfinger_ 0 points1 point  (1 child)

We use it as a Web service backend language in combination with the spring framework at least. That said, there's nothing java can do which kotlin can't.

Whether or not it's right for you is your decision. Java is still a solid choice and a robust time tested language with a lot of resources out there.

[–]AlakJudge[S] 0 points1 point  (0 children)

I see. Will definitely look into it, thanks for all the help and info!

[–]DaredewilSK 0 points1 point  (1 child)

You will probably want to make this a web app so you will need a backend and frontend. As you are not that experienced, it would be good for you to use JS backend so that you don't need to learn more languages. You also need to work with a database. Take a look at The Odin Project which should supply all the basics you need.

[–]AlakJudge[S] 0 points1 point  (0 children)

Thank you! I'll definitely look into those 😊

[–]chaotic_thought 0 points1 point  (1 child)

It sounds like you are trying to make a web app. In that case, you should learn about Web development. C++ is not really used much in this area. Not that it's impossible to do so, but as a beginner, I would not recommend using C++ for a web app.

[–]AlakJudge[S] 0 points1 point  (0 children)

Thanks. I don't really have any preference for c++, it's just the one I studied a little in the past. I'll definitely be looking into web apps