This week's book giveaway is in the NodeJS forum. We're giving away four copies of Serverless Applications with Node.js and have Slobodan Stojanovic & Aleksandar Simovic on-line! See this thread for details.
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.
This is my favorite show. And this is my favorite tiny ad:
global solutions you can do at home or in your backyard