Every time I wanted to find a book in my house I have to spend a lot of time to do this. So I decide to digitalize it! Database, forms, some code and it’s live.
I have created role based system - you have to be one of admins 👷 to be able to add or move a book. The whole process is simple, if you register and login for the first time you will don't have access to all functionalities. To gain permission you should send a request to one of super admins 🦸, what you can do directly from your dashboard. After your request has been approved, you should see that all options are available. Enjoy Book Searcher in all its glory!
As you can see below I built two versions of Book Searcher. First, I tried to use MongoDB, Vuex and more... not quite the right technologies 😁 This project is still on my , so you can see the code. When my app was growing up it turned out that I need relations, more control of my state, better validation, so I figured I'd use a different stack.
Basically, the whole app have been written in TypeScript (too obvious?). At the back I used Express.js and PostgreSQL with Prisma for database. On the front end I bet on Vue and I think it paid off 💰
I spent most of my time preparing the view and the logic involved in adding the book. A lot of validation, error messages, relations had to be done at this stage. But I can’t leave out that I learnt a lot doing this.
If I had to name one more thing it would be authorization. Handling user permissions, sending suitable status codes, it sounds so simple, but trust me, in more advanced cases it can be very irritating 🤐
It's impossible to count Vue libraries that I got to know while working with this project. Not all working as I expected, but I didn’t give up 😉
It’s worth noting that this was my first application of this size built with Vue 3. I have often looked at the documentation, but it has allowed me to delve more deeply into the subject.