As a freelancer I see this clause a lot. It's very common. It's usually a misguided attempt at a non-compete clause.
What the company usually wants is assurance that you're not going to go run off and build a similar app using the internal "secret" knowledge you gained from them, or that you're going to be charging them to work on a different project while they "foot the bill".
I would strongly suggest breaking this down into pieces and negotiating those pieces. As you start to work on more interesting projects you're going to have to deal with this more and more.
Tell Me all the software you own. This one is a bit odd. You need to find out the reason for it. I would have no problems answering this informally, but I would not want it as part of a contract, unless I owned something close to what they want me doing. That is exactly what I would tell them too. "I don't own rights on anything that would compete with you, but if you want a full list, we can go over that off the record". I personally would not work for someone that would not budge on this requirement. Really Important Note: Companies do this because you may have something of interest that you need to exclude or divulge. From time to time I do work for a company that I need to say "Ok I am building you a widget, but I also own a very similar widget. I am not giving you my widget."
You have to get my written consent to work on new projects Super huge red flag to me. But I am a freelancer. I work on many projects. Some very long term, some very short term. I would not give up that control to anyone. You may have a different value that part of the agreement. Specially if your working full time for a company, then it may not matter. To me this part of the clause would need to be removed totally. '
You can not work on competing stuff This seems to be what they are after. Give them this 100% It's only fair. But set some kind of time restriction, and make sure to define it's scope. "I will not work on another web site that sells blue hats for the next 3 years". Otherwise you could find your self in some kind of problem if they feel you agreed not to work on any web sites, or any websites that sell things for the rest of your life. Note:: IANAL but these "won't work on competing products" clauses are usually not enforceable unless they have a really small, clearly defined scope. That won't stop the company in starting a legal mess if they think they are justified in doing so.
In short a clause like this is very common in some circumstances, but it's also very common to negotiate these clauses to something more reasonable (to you). Look at, or ask about, what they really want, and be willing to give that to them. At the same time, think about what you don't want, or won't give up and don't.
Super important tip from a freelancer: "There's always another job." Don't get sucked into this one, because it's the only one. If things aren't to your liking keep on looking.