Hi @sridharr , I have never written one myself but we do have a feature that was intended for this use:
With this feature, it should solve the user and privileges part. As for the dashboard with order status and previous orders, you could use multipage apps and I would suggest starting from there.
If you have any questions, please feel free to send them my way.