I have tried to make this app of production grade quality. I have used good practices of writing code . For implementing different features i studied different libraries in detail and then implemented them. Different error handling techniques have been implemnted .