If you want to keep everything in the browser it's almost imposible to use a db, you will need node.js or something like that and that runs on the server, not in the browser.
An alternative to a traditional db would be taffyDB for example
It's good to be able to use someting, it's better to understand how it works.
No, a web app doesn't necessarily need a database.
But more importantly, right now you're starting to design things and your requirements document says "It's a web app". If you hired me with that information I would be asking for more information rather than deciding what tools to use.
Likewise with your question about databases. If there was only one best type of database to use given the requirements "It's a database" then there would be only one type of database.