Yarrdachi: Front end for the phone view continues on...
This is a weird one. I need to finish drawing all the steps of all the interactions from the party menu on the dashboard. I'd like to have all these things drawn up before I get to them so I can just blow through with the code and not have to think too much about design anymore.
I want to make it as few clicks as possible to do the interactions you do most often. Ideally it would be a simulated real-time game with some sort of RPC sockets... maybe? That's for the future though, the core interface must be in first.
There are many systems I have not begun designing yet, I need a chat and forums and those need moderation both automated and human overseen. I may have to shut down chat when there is nobody on duty just to be safe. Not sure. I worry that maybe some little kid ends up playing this thinking everyone else is just little kids too. I was always too paranoid to be that kid but I did know kids like that. Always wished I could have protected my friends from themselves back then. Anyway, let's get this figured out. What all does one need do from the party interface on the dashboard?
- Feed pets in party
- Bathe pets in party
- Train pets in party
- Teach pets in party
- Use Item on pets in party
- Play with pets in party
- Start New Adventure
- Act in current turn in Adventure (If already done, just show a countdown or something telling the player the next turn is in X hours or whatever I end up tightening it up to)
- See log of adventure so far.
- See a journal of adventures past.
- See online friends?
- Interact with friends over IM/PM.
- Check currently active trades. (Green means ready for them to take action) Trade should work with a double confirm system like a lot of MMOs had. Where both parties lock in the trade and can inspect it before hand and make sure they aren't getting scammed before committing to it.
- Check currently active stores.
- Check on all guilds' current progress on the next goal.
- See resources available for crafting.
- Select a part time job to make some money for the day.
- Add materials to auction post from material view component.
- Click the active trades to open the trade system.
- Click the active auctions to open the auction browser/seller component.
- See your recent forum posts and followed posts.
- See your tracked searches and how they have updated since you last saw them. (Will require it's own table in the DB, possibly own API, user can set a search to be X traits, X color ranges, etc. Ordered by date listed or price or whatever might be useful to sort by.)
So from this list so far I know that I will need some tabs in places. I should probably break this down into tabs. Well as long as I make every thing it's own component, putting those in tabs wont be so hard. For now I will get them functional then worry about that in design pass 2.
October is pass one, it's already the 20th and I don't need to be adding nothing to the plate here. I will add some component starting points for future features but I will be focusing on the core ones for the first pass.
I am going to need to work in a unit testing library on the front end and start breaking more and more things into their own functions for longevity here. If I have to maintain this project in 5 years I want it to be easy to get around. This also means I better start working on making my docs organized and concise. I should actually work out my documentation platform first...
I think I will use Jest for the UT on the front end. As for documentation I hadn't even thought beyond "Make a wiki" You know what. Make a wiki is a good idea. It's what I know and considering all the new tech I am using here I need a wiki as my docs so I can just write and not think about how the hell everything fits together. I can just use links and lists.
I found BookStack which seems pretty interesting. It allows you to categorize knowledge into chapters, books and shelves. Hopefully this system will work for me and help me organize the information a little better. More importantly it's self hosted. I only pay for my servers and that's around $60 a month, all my software and tools are FOSS. My OS is FOSS, Gnu/Linux.
Alright, time to design things in the docs. Just gotta take all my stuff I have written in notes and flesh it out a bit. Then I can just have docs in one monitor, dev in the other. Half of one monitor will be dedicated to reading other docs and the other half to writing the docs for this. I need to TAG components with what css classes I use for them. It might make it easier to just overwrite some stuff later and knowing all the things it will affect will help me a lot.
Also decided to use the most common JS Unit Testing Framework, Jest. So I have to start implementing that as well. First though, the docs.
So the idea is to add a page every time I add a component. Each component gets a page and if it's a big component like the Dashboard it gets a chapter with an overview page like this.
As I write these things I will fill in the documentation and add the links to this overview. Then I will know I have done all of these things.
Each page will have some kind of reference for every thing. I need to structure it today. That's the idea anyway. The planning and dev can be way more optimized down the line when I need to modify something if my workflow is docs and tests first I can easily find what I did where and why and what changing say a class in the css might do across the application.
This thing has tags so I can do that.
There's some organization here now. Splitting ideas and thoughts into their own shelf so I can pull from it when it comes time to add features later.
Now there are two people working on this. Well one who will basically run the front of the site and me, toiling away on the code where I like to be.
I think I should also have a shelf for technology and references.
There, we got some organization on the documentation issue. I should now have a workflow for writing docs and tests as well as noting why I make certain choices.
And then in the chapters there are pages.
Well, now I got some organization actually in place that I like and can follow more easily (you really need structure for basically everything.)
Now I can work on that as I draw up plans and stick it all together in one place all nice and work-flowed and organized.
Time for me to get some cleaning done, so I am gonna wander off now.
Cheers.