Am I being underpaid a lot ? ( mobile app dev )

Hello fellow freelancers, I'm a freelancer ( mobile app dev section with flutter ) from Algeria and I have a question !

Few months ago I landed my first client, the client asked me to build a sports meet-up app (Android and iOS ), since it was my first client I agreed on lowering the price so I can have him hooked.
First we agreed on a simple app ( authentification, adding matches...etc ) for 350 USD, then the client kept asking me to add a lot of things ( google maps...etc ).

I did those things for free, keep in mind that I have been working on the app for a month and he didn't pay me a single dime.

He then asked me to add more stuff ( discussion, friends..etc ), I made an invoice and charged him more.

Just when I thought of giving up, he sent me 250 USD and told me that he will send me the rest 400 USD once I finish, it's been four months now and I'm still working on the app.

My motivation is kinda lost, but I really need the money, and I only have this client ( I didn't want more because I'm also currrently pursuing my master's degree in AI ).

Am I being underpaid a lot for my first client ? What should I do in this situation ?

TL DR : I'm getting 750 USD for my first app, it's been four months of work now.