Fortunately the nightmares have stopped and I’ve managed to get on a more regular sleeping schedule, going to bed at about 1 AM or so and waking up at about 9:30 AM. So that’s good.
Programming-wise, I spent much of last week just learning more about modern web tools; I’ve been away from web development for a while, so there’s a lot to learn. I switched from Feathers and React to what’s called a “MEVN” stack, which consists of MongoDB for the database (which I find easier than MySQL1), Express.js for the back-end framework, Vue for the front-end (which I find easier to learn than React), and of course Node.js for the back-end platform. In particular, this little tutorial on setting up a MEVN stack was super helpful.
Beyond that I’ve only just started programming some actual functionality. At the moment, you can create a note and delete it. And that’s it. Pretty boring. Much left to do.
As seen above, when you hover over a note, you get that little side-menu with edit, copy, and delete options. Looks a bit bland, but the design is definitely not final. Here’s my current todo list before making the app public:
- Complete functionality of the sub-menu (the delete works, but the edit and copy buttons don’t yet)
- Allow attaching or inserting media (at least images) to notes
- Sort / search notes by tags
- Create note with tags pre-filled (like adding a post to a category)
- Allow some js widgets in notes, at least checkboxes and timers
- Allow creation of new notes with bracket links (e.g. “[[]]”) as in MediaWiki (standard wiki feature)
- Open related notes by clicking on these bracket links (without opening a new page)
- Search and sort notes by content / data / date (only basic queries for now)
- Create user login / registration system
- Create user stats page (notes created, storage space available, etc.)
- Collect user usage stats (for studying how users use the product)
- Overhaul / finalize designs, make responsive and usable on mobile
- Write Terms of Service, privacy, cookie use policies
- Offer subscriptions, launch!
I have some other big features I’d like to add, but I’d like to launch it first, just to get it out there. So how long will all that stuff take to do? Assuming I can tick one off every day, only two weeks. But some will be easy and some will be difficult, and you never know what task you might get stuck on. So we’ll see. I’m going to aim for two weeks. Though I do have some family stuff going on that will likely also get in the way.
Plus this really awesome guy sent me the PS4 game Dreams that I’m eager to try…