DEV Community

Cover image for Project Nodetree recap ~ AoaH Eight
Andrew Bone
Andrew Bone

Posted on • Edited on

Project Nodetree recap ~ AoaH Eight

Postmortem for project Nodetree

What was/is Nodetree?

Nodetree was my first project written with 'nodeJS', after a few weeks of learning the basics as part of my adventures of a hobbyist series I decided to jump in and actually make something, that something was a MySQL editor named Nodetree. You can try out the demo the password is demopassword.

GitHub logo ignis-pwa / nodetree

A MySQL Browser written in NodeJS

nodetree

A MySQL Browser written in NodeJS

Read about this project on dev.to

Try out the demo the password is demopassword




How long did it take?

To get the project off the ground it only took around a week, at this point I should point out I only get a couple of hours per week to use for these projects, but it took a further 4 weeks, totalling 5, to get it to a place where I felt it was "finished" enough to stop. That being said it's up on Github any issues and pull requests are more than welcome. I may not be documenting the project anymore but I hope to keep it active.

What did you learn?

As this was really an exercise of putting together things I'd learnt previously there wasn't too much new I came away with.

I had a lot of fun using classes to define 'elements', not true custom elements but rather styling and state handling existing elements, like inputs. I like the idea of using custom elements so maybe my next project will incorporate them.

I also learnt to use npm for packages, I had a little experience with bower so it wasn't a huge change really.

What bits were hard?

Balancing making things look nice, be functional and be intuitive isn't as easy as I thought it ought to be, but maybe that's just me.

Having to remind myself not reinvent the wheel everytime I wanted to do something different, 'someone has probably done this already' I had to remind myself. Even if I didn't use their solution, in the end, it was worth looking at how other people solved the problem.

What is left to do?

There is still a fair bit to do, the mobile interface is a bit lacking on the database page, users can't add new rows to a database (a huge oversight on my part). Over the coming weeks, I plan to make issues for each thing I've forgotten. If you want to help feel free to have a look at it and raise some issues.

What will you do next?

Next, I'm going to do a few small learning exercises, at the moment I'm looking at SQLite, in Nodetree I made a JSON file called servers.conf that contained all the connection details but I'm thinking a 'servers.sqlite' may have been better.

After that I will start another project, my end goal is to make a PWA, named ignis, for sysadmins to manage their sites. I hope to make it so anyone can make a plugin that can be found and installed by anyone that wants to use the system. I feel I probably need at least one more small project before I tackle ignis.

Farewell

That's it for this week, let me know if you like the postmortem format. If you don't you can let me know that too but please let me know what I can do better.

Thank you for reading all the way to the end and coming on this adventure with me.

🦄🦄🦄

Top comments (5)

Collapse
 
andersonjoseph profile image
Anderson. J • Edited

I only see this message. (Yes I have JS enabled)

Collapse
 
link2twenty profile image
Andrew Bone

Which browser are you using?

Collapse
 
andersonjoseph profile image
Anderson. J

Firefox 60.0

Thread Thread
 
link2twenty profile image
Andrew Bone

How odd, I've got 62.0.2 and that works fine but I've looked at the changelog for 61 and 62 and don't think they've added anything that the site requires.

If you have time can you check what you console says, just to see if it's throwing an error?

Thank you 🙂

Thread Thread
 
andersonjoseph profile image
Anderson. J

yep, it's throwing

TypeError: res.srcElement is undefined nodetree-mysql.herokuapp.com:156:7
_setFragment