DEV Community

Discussion on: I'm a Full-Stack Engineer/Manager & Bootcamp Mentor, Ask Me Anything

Collapse
 
raisaugat profile image
Saugat Rai

Hi Matt!
So here's a thing. I am trying to build a project like book keeping but not to vast. It's for my mom. She keeps record of house expense and work in a journal and I am the only one to write it down. So when I'm not around I want to be able to update those records via web app. Just keep record and calculate the totals. And simple crud operation. And I am thinking it to create in react. But I am not sure from where do I begin. I know react to some extend. But I guess that is also not enough. So what's might be useful to learn in order to build a project like this?
It's my first AMA though. :)

Collapse
 
matthew_collison profile image
Matthew Collison • Edited

Hi Saugat, thanks for the question!

When it comes to deciding you need to build a project, you need to first plan out the project so you know what "micro-skills" you'll need in order to accomplish it.

You need to plan it out in modules, let me give you an example;

It sounds like you're going to want some way to login to the application - so you can break that down into these micro-skills

  • Installing a backend framework (Laravel, NodeJS, Rails, Django, etc)
  • Installing a compatible database (to store the users)
  • Browsing your database
  • Validation of form input
  • Registration of users
  • Authentication in your framework of choice
  • Deployment to an online server

Then you'll find some of these skills will cross over to the other "modules" of the project, such as your CRUD forms (Database)

Learning to build a cohesive project like the one you're describing is as simple as defining all the individual "parts" and knowing which "micro-skills" you need to get to develop the parts.

And this is purely opinion here, you can pick any framework you want, but I've been big on VueJS and Laravel in the last 3 or so years. They both have excellent communities, and their creators are both huge on attention-to-detail and making things for the developer as friendly to use as possible, without compromising on enterprise scale.

Once again, make your own choice, either way, I hope this helps!