Page 1 of 1

New Site Development Updates

PostPosted: Wed Jan 31, 2018 9:33 pm
by Zayin

New Site Development Updates - January 31st, 2018

Hey everyone! I'm going to go ahead and provide some details about where I'm at with our new site development.

I've largely been setting up the foundations of the new site and planning its architecture. There were a few fundamental challenges that had to be overcome as part of the redesign, but I think I've been able to address those. So far I've been able to do a lot of database restructuring and fine-tuning, as well as setting up user logins and building half of the Homestead. Momentum has been building, so hopefully I'll have more tangible stuff to show next month.

The most tangible thing I can show you is the Homestead. It should go without saying, but these screenshots reflect a work in progress, and I have spent very little time working on appearances.

Homestead Screenshot

Groups Management Screenshot

This may look pretty similar to the screenshot I shared before, but now it's functional!
The pets are now pulled from the database and group management is present. You can create, delete, and edit groups right from here without the need for a whole other page.

Here's what I'm using for the new Eldemore:

-Laravel framework for Eldemore (php)
-Vue.js and Bootstrap 4 on the front end
-Keeping phpBB forums (upgrading to latest version)

Eldemore is currently embedded into phpBB forums. I wanted to extract that out into its own application, which is really what this whole project is about. Basically like moving out from your parents' house, you have so much more room and freedom to do what you want. So the forums are going to live along side Eldemore instead of contain it, but phpBB has always handled things like logging in, user permissions, and stuff like that. So one of the fundamental challenges I had to overcome was integrating Eldemore's session handling with phpBB's. Otherwise, if you logged into Eldemore, you wouldn't be logged into the forums. You'd have two log in systems, which I'm sure you've seen on other sites before.

I believe I've solved this problem by extending Laravel's session handler, which apparently no one else has tried to do before; I could barely find any relevant information on how to do this. But through some mild hackery, I seem to have pulled it off. I may be able to modify phpBB's session handling later for a more elegant solution, but I really needed to get this problem solved before I could move on.

Now, I'm pretty comfortable in the Laravel/php environment... that's why I chose this stack. However, I still needed to upgrade and learn some new stuff. So in this project, I'm using Vue.js and Bootstrap 4 for the first time. I've been meaning to get into Vue for a while, because I know it will help me tremendously with front-end development. On the current site here, I just use a lot of jQuery, which in areas like Eldsona editing and trading can be a nightmare to deal with. I have to remember the id's for every single little thing and remember to update/change all the dynamic pieces of the screen. Vue will handle most of that for me, but it comes with a learning curve. Things have moved slower because of this new technology, but I think it will pay off big time once I get over the hump.

Other than all that, I had to go through and fix a bunch of inconsistencies in the database. Over the years, as my positions on database development have evolved, I've implemented things in different ways. Mixed data types, differing column naming conventions, and the like have been a nuisance. So part of my work load was fixing those little things and making them consistent across the board.

That's about all I got for now, I will post another update towards the end of February. Hopefully I'll have some more visuals and less text. I hope this gives you all some insight into Eldemore and hope for the future!

Re: New Site Development Updates

PostPosted: Mon Mar 05, 2018 12:48 am
by Zayin

New Site Development Updates - March 4th, 2018

Hello again everyone, thanks for being patient. Here's another summary update of how things have been going with the new site.

The most notable changes would be the addition of the Pet View page, changes to the rarity system, and formatting for pets in the homestead. Below are screenshots of the homestead and the pet view page:


Pet View

I've been experimenting with the layout of the "pet card" as I call it. That would be the arrangement of the pet's image, name, rarity, checkbox, age, etc. I'm really trying to make it look more organized and less chaotic, despite all of our pets having their own dimensions and proportions. I changed the "days" age reading to show years, months, or days depending on how old the pet is and what's more relevant.

I've also added the ability for the homestead to remember where you were in each group, so if you're on page 10 of one group, and you switch groups and come back, it'll remember what page and sorting you had. I still need to add options for sorting and page size, as well as the ability to move pets into different groups, which should all be done shortly.

We've changed our rarities to be a star level instead of the multicolored stones we currently have. If you hover over the stars, it'll tell you the same "Rare", "Common" labels you're used to. I don't think I need to point out the pros and cons of this, the stars communicate the rarity level quite obviously without having to know anything beforehand. I'll probably keep tweaking their design as I didn't spend much time making them. We also added another level between Rare and Ultra Rare: Very Rare. So now there's seven different levels or rarity.

Pet View
I'm only half done with this page, but I'm definitely adding more information than we have right now. I added the release's title (i.e. Pinto Sleipnir) which I plan to link directly to a codex entry. I'll also add some info about where the pet came from, like who gave it to you and/or where it was adopted from. I still have to finish the layout and add functionality for renaming it and stuff.

Other than all that, I went through and refactored the database more, changing column names to make my naming conventions easier. I have to get those things out of the way now before my code is written.

I also set up a bunch of classes and relationships for adoptions, outcomes, growths, pets, species, and rarities. Basically just defining how all the data relates to each other in the code. I think I'm also going to set things up so that individual outcomes can have their own species and artists defined. It was always a pain when we did our Easter release and every pet outcome in the set had a different artist and species. This has come up enough times that I think it'll be a beneficial move.

That's all I got for this month, I will post another update at the beginning of April. If you have any feedback about the age or rarity changes, feel free to post about it and let me know.

Re: New Site Development Updates

PostPosted: Sun Apr 08, 2018 12:02 am
by Zayin

New Site Development Updates - April 8th, 2018

Hello again everyone, I'm here to give another update on how things have been going with the new site.

The homestead is now functionally complete! It still needs some polish and UI tweaks, but that can wait until later. Here's a quick demo:

[See full size]

(By the way, this image uses a new BB code tag called img-fit that ensures large images won't stretch beyond the post container width)

I wanted moving pets to work well on mobile, and I think this does the trick. As you may have noticed, you can still bounce between pages and keep selecting pets. This functionality will also be useful in trading, which will implement some of the same components.

I still plan to tweak the rarity icons more, but that's low on my priority list for now.

The other major thing I worked on was designing the "shop" system. That's going to cover our adoptions, bazaar, event giveaways, and anything else where we intend to give people stuff, either for a cost or not. Such things have always been very fragmented on here since they evolved a lot. Imagine building an adoptions page. You'd have to pull all pets available for adoption. What's available? Depends on the current date, the adoption's release window, whether the pet is enabled, and it not having a cost associated with it. Then we have to differentiate between special holiday releases and monthlies, since we keep them in separate tabs. Basically, this kind of formula has to be concocted for the bazaar, event adopt pages, and whatever else. On the Yuletide adopts page, give me all enabled pets for this date with the Yuletide event code, and only the ones that Captain Willy is giving away... it gets cumbersome.

This new system I've designed lets us create "shops" and assign things to go in there. It abstracts the pets and items themselves from the method of release, which gives us more flexibility on how we release and re-release stuff. So all we have to do is say what shop we're at and pull the list of pets available on this date.

This system required some heavy database restructuring, so after designing it on the whiteboard, I had to meticulously build out 10 migration scripts. Now I'm about to see if they actually worked...

Image Handling
Another big thing I tackled this month was how we would handle and serve our images, which as you might guess, we have a lot. We've currently got 7,240 pet images (and a thumbnail for each one). Plus we have eldsonas, their items, exploration and character images, and other stuff. Since we're hosted with Digital Ocean, I decided to try out Digital Ocean Spaces, a service similar to Amazon's S3. I moved all of our image assets to that so hopefully I'll later be able to put a CDN in front of it. That means that our images will be delivered a lot faster all around the world, but with the exception of one thing... the pets themselves. This will work for codex pet images, but it would never work for actual pets due to them growing. The server always has to determine what image needs to be returned when a pet image is requested. But hopefully this setup will be better and more scalable overall.

That's all I got for this month, I will post another update in the beginning of May. Thanks everyone for staying supportive, I'll be really excited to get things running again.

Re: New Site Development Updates

PostPosted: Sat May 19, 2018 12:49 pm
by Zayin

New Site Development Updates - May 19th, 2018

Hi everyone, here's another quick update on Eldemore development. Sorry this is coming out much later than I'd hoped. Things have been slow throughout April and May here as I've had a lot going on in life. I'm currently changing jobs and have recently been dealing with job applications, interviews, and related paperwork. Job hunting has been exhausting, but thankfully I'm starting a new one next week.

Unfortunately, what I have been working on with Eldemore has also been slow and tedious. Like treading through a swamp :/ I've been working on all the image handling that I talked about in the last update. I keep writing migration scripts to tweak the database, then upload a set of images to our cloud service and attach them to their related records. So I have one for legacy images, item images (and icons), pack images, pet pack images, etc. These are currently all stored in different places with slightly different naming and storage rules, meaning there's a little specialized code for each type of image. Plus I had to double back a couple times when I found flaws in my database design, having to do some redesign.

So the point of all this is that we have a lot of different types of images, and I'm trying to wrangle them all together so I can manage all of them with one set of code instead of having different code to manage each type of image. That just makes everything easier down the road. And I'm doing all this before I build the adopt section (which is maybe 40% done now) so I can fetch images the right way the first time.

I think I'm mostly done with all this image drama, so I'm returning to the Adopt/Bazaar section and working on building out adoption functionality. After that, I may just go ahead with the Bazaar and Paypal integration since I'm already in this area. I'll try to post my next update in the first week of June and hopefully have more to show.

Thanks everyone

Re: New Site Development Updates

PostPosted: Wed Jun 20, 2018 10:33 pm
by Zayin

New Site Development Updates - June 20th, 2018

Hey all, I don't have much to write about this month but I figured I post something to keep everyone in the loop. I'm just working on the shop/adoption functionality right now. Being that adoptions are the core of the site, I'm having to do a lot of database restructuring as I go. This restructuring is to allow us more flexibility in how we release stuff, potentially allowing us to do re-releases pretty easily. It also serves as the engine for event adopts and the Bazaar. That's why I really want to get things right with this.

The restructuring is almost over and the adoption section is mostly written. Once I have adoptions and purchasing (baubles, tokens) working, I'm going to look in to hooking up paypal, and then move on to the next beast. Probably Eldsonas or Trading.

Thanks to everyone who reads these and thanks for being patient.

Re: New Site Development Updates

PostPosted: Sun Aug 05, 2018 11:45 pm
by Zayin

New Site Development Updates - August 5th, 2018

Hey everyone, thanks for checking in. Happy 5th birthday to Eldemore! We are eager to get things going again with this site, it has been weird not doing the regular releases or events, so hopefully in the coming months we'll be able to get going again. I'm here to write about what's been going on behind the scenes in development for the past couple of months. I haven't had a lot to write about lately because most of my work has been back-end stuff and it has been a long few months.

I'm happy to say that the Adopts/Bazaar is done! I still have some things to iron out with getting baubles, but the whole adoption flow is working well. Here is a quick demo:

The code I wrote works for monthly adopts, special releases, event releases, eldsona items, and pet packs. Basically for anything we give out, it's all set up. It was built to be as flexible as possible.

So what you're seeing there is the Adopts page. Don't mind the Bazaar pet, he's just there for testing. Those are still two separate pages, but in theory they could be all in one place.

Other stuff
Here's some other behind the scenes stuff I've worked on since the last update:
  • Global error handling for displaying error/alert messages in the browser.
  • Changed the whole way we handle currency. The way we handle event tokens on this site is literally with 4 fields named Token1, Token2, Token3, and Token4. If you're a programmer, you should immediately see what's wrong with this. Basically any code that manipulated or checked tokens had to be copy and pasted 4 times (it's also why we always only had 4 event token types). This has all been fixed for the new site.
  • Added better tracking for bauble and token transactions (we now have a legit history of token transactions).
  • Polishing homestead, made image handling more flexible code-wise.

I'm now working on the Codex. I don't have anything to show right now, but hopefully next update I will be able to show that off more. I'm planning for it to have Pets, Eldsona Items, Lore, and your Wishlist. I'm currently turning "months" into "categories". That way, all the event pets won't fall in with the monthlies in the codex and we can categorize pets better.

Thanks for checking in and reading, I will have another update next month with more to show off!

Re: New Site Development Updates

PostPosted: Thu Sep 20, 2018 1:03 am
by Zayin

New Site Development Updates - September 19th, 2018

Hi everyone! Sorry for taking my sweet time to post additional updates. I've been trying to finish my project here before posting my update. What I've completed this past month is the bauble purchasing system. This required setting up connections with Paypal's API, building the whole checkout flow (selecting a bauble level, going to paypal, paying, then receiving your baubles), and setting up a system to track purchasing. I wanted to make this purchasing system robust so it could grow along with us. For example, we could potentially support taking credit card numbers, if that was something people wanted to use instead of Paypal.

Currently with bauble purchasing, we are using an antiquated method to give you your baubles. We basically have to wait on Paypal to tell us that you made a purchase, and on rare occasions, that falls apart. This new system will give you baubles instantly, no waiting. I also made the record keeping more robust so we can have better historical data than we have now. It took me a while (since the last update), but these are all necessary things to have in place when dealing with people's money.

Aside from that, here's some other things I did:
  • Re-arranged my global javascript config
  • Wrote model classes and set up relationships for entities that already existed in the database as I needed them
  • Fixed some bugs along the way

So I'm sure if you're reading this you are wondering when all this will be done. The best I can do is give a high-level list of what still needs to be done:
  • Codex (work in progress)
  • Trading
  • News page
  • Explore/Thorn's Cottage type stuff
  • Event and Cinematic system
  • Eldsonas
  • Tweaking and modding forums (the forums are already working fine, but they need some attention, style tweaking, and modding for Eldemore)
  • User settings/mod tools
  • Admin section

Pretty much all of that needs to be in place before we can move into beta testing and relaunching, so this is probably going to go into early 2019. I wish it could be sooner, but it's not looking that way right now. I know for sure that Trading, Eldsonas, the Event system, and the Admin section will be beasts. The others aren't as bad, but there's still a ways to go here. Just wanted to give everyone an idea of where we are in the big picture.

Thanks everyone for reading and following these updates. I'll continue posting updates once a month, so stay tuned!

Re: New Site Development Updates

PostPosted: Mon Dec 03, 2018 9:29 am
by Zayin

New Site Development Updates - December 3rd, 2018

Hey everyone, here's another update on what's been going on since my last post in September. Sorry once again for being lax in updates. I've had a lot going on personally in the last few months, so I've been a bit disconnected and work has been going slower than I'd like. I can say that the bulk of the Codex is done, with tons being done on low level functionality.

Here is what the Codex looks like right now (warning, 50mb gif)

A couple improvements I've added to the new Codex is that you can link directly to an adoption, as noted by the red link icon on the right side. You can also search adoptions by title or id number. I've been working on the items section as well, but that's not quite ready for showing yet. It should be ready to show by the next update. I'm also experimenting with lazy loading images, meaning that images are loaded when you scroll them into view. I'm still tinkering with that functionality, but I'm thinking it will help with slow page loading.

I've also been working on the trading section, building up the back end mostly. Haven't set up the UI yet, but that is next on my list. My goal is to get the site running again as soon as possible.

Here's a more detailed overview of what I've done:
  • Reworked how we manage codex categories, putting them in the database and giving them a true relationship with the adoptions
  • Set up the whole codex section, completed the pets section, completed a good portion of the items section; includes artist, species, year, month, and search filters, pagination, direct linking, and wishlist functionality
  • Dealt with bizarre bug where having image urls in my json response caused the request for codex listing to take 10 - 20 seconds
  • To fix above, reworked how I fetch image urls
  • Also reworked how we store and reference thumbnail images
  • Adjusted the relationship between artists/species and pets to allow it to be more flexible
  • Set up lazy loading of pet images
  • Restructured Codex front end code to be more compartmentalized
  • Set up a system to group items into "item sets"; previously, we didn't have a way to group items together besides how we released them (usually as a pack), but when it comes to displaying these in the Codex, we needed some way to show items that are all part of the same set, but using the "pack" wasn't a good way to do this
  • Set up trading boilerplate, defined controller actions models, and relationships
  • Tons of miscellaneous bug fixes and low-level system optimizations

Thanks everyone for being patient, I hope this update helps keep you all in the loop. Happy holidays to all!

Re: New Site Development Updates

PostPosted: Thu Jan 31, 2019 11:54 pm
by Zayin

New Site Development Updates - February 3rd, 2019

Hey everyone, it's finally time for another site development update. First off, in an attempt to post more frequent updates and keep you all in the loop, Eldemore now has a Twitter account! You can follow us at @eldemore_adopts where I will be posting more frequent updates and screenshots.

Since my last post, which has been a while, I've been busy getting the item codex ready, while also taking care of a lot of back end restructuring, as you will see in the list below. I've also been working on some of the back end of trading and our admin tools. Below are a few screenshots of the item codex:

Item Codex 1
Item Codex 2

As you can probably see, I'm still working on the UI and making sure all the buttons work how they're supposed to, but that will be finished very soon. From there I will return my focus to trading, which has a good bit of the back end stuff done but still doesn't have a working front end.

Other stuff I've been doing:
  • Fixed bugs with wishlist buttons
  • Set up codex categories for Eldsona items
  • Added fields to item sets that were necessary for use in the Codex
  • Re-worked wishlist system to be compatible with Eldsona items
  • Setup boilerplate and a lot of the back end code for admin tools
  • Updated node dependencies to remove tons of vulnerabilities and get package versions "in sync"
  • Gave the Eldsona preview images a proper home in the system and migrated them

I wish I had more to post at this point, but there's nothing else visual that I can show right now, which is partially why I haven't posted anything for a while. However, I will tell you that we are aiming to re-launch the site in late summer of this year. If that changes, I will be sure to let you know, but until then, follow us on Twitter for the most frequent updates!

Re: New Site Development Updates

PostPosted: Sun Apr 21, 2019 12:31 am
by Zayin

New Site Development Updates - April 21st, 2019

Hey everyone, sorry I haven't posted in a bit. Here's a little update on what I've been up to.

In case anyone missed my update on Twitter, the Codex and Item Codex are finished.

I am currently working on trading, I haven't posted much as there hasn't been a lot to see. I'm actually working on the trade builder, and have been building tools and re-usable components as I go. I also had to make a wishlist management page, similar to what we have here where you can take stuff off of it.

Additionally, the trading post and trade history pages fully set up. I also had to address issues with how user data was being handled and fix some front and back end bugs that have been cropping up. But hopefully trading will be done in a little bit, and I'll have something more interesting to show off.