Pricing is notoriously difficult as it depends on several factors:
- Your own desired hourly rate
- What the client typically pays
- The perceived value to the client
- Whether the project is similar to anything you have undertaken before
- Whether the client has clear requirements or not
- Whether giving a discount most probably will lead to more work
While you decide what your own price target is, getting an idea of what the client might be willing to pay is often difficult or impossible to deduce. You need to somehow get at least a ballpark figure.
If you have previous experience with very similar projects, you could go for a fixed price - but this requires that scope creep is minimized. Personally, I would never (again) set a fixed price with an 'IT-wise immature' client, as discussions very fast become sour. Fixed price requires that both parties acknowledge that changes will happen and that these will add to the price. Otherwise, constructive project discussions regarding functionality become legal arguments.
If some of the technologies are new to you, a discount could be considered. Similarly, if the project very probably could lead to other similar projects, a discount could be considered a future investment. Personally, I no longer give such discounts as I have found that my freelancing career has never really followed any predictable path.
So - assuming you have experience with some/most of the technologies, but have not delivered a project exactly like this one and have not worked with this client before - I would go for an hourly rate and split the project into stages.
Clients generally like a fixed price, but the inevitable squabbling that follows tends to sour the relationship - so I would only do it as a last resort (or not at all).
Convincing them of an hourly rate is not always easy, but it tends to lead to a more transparent pricing structure. When they know they are paying for ALL your time, they tend to focus on things they actually want and need instead of what they can extract/extort from you. In addition, even if they abandon the project after some stage because of changed business needs or that it turned out to be more complex than anticipated, they will probably fee more satisfied with the process and might work with you again.