GridZone is the Next-Gen art-focused gamified social experience on Ethereum with unique digital identities, and interactive 3D NFT ART. GridZone is a place where every social interaction is smart contract interaction.
GridZone is my biggest project and work I'm most proud of. I started project from scratch, built everything, including server, database, backend and frontend. Now I lead team of people and we maintain this network. It was challenging to structure and maintain this codebase - its huge.
I choose EC2 instance on AWS, where we host NGINX server. On that server I run Mongodb instance where data is stored. I use Mongoose as wrapper to Mongodb. It was hard to choose database at the start, the first choice was Postgre, but since data was changing frequently, we choose Mongo.
Next, on the backend we choose Node.js - no question about it, its my favourite backend language. I choose express as a framework and the MVC as design pattern.
Frontend was the most challenging part. App design is very complex. There are lots of features we use, and design is complex too. The client wanted to go with React. We choose Redux to store all business logic in its files. Next, all components are separated into 3 folders, folder with presentation components only, folder with components that are repeated across app and components that are on a specific page only. I was changing folders structure lot of times as app grew, but we stick to this structure by the time of writing. For styling part, I use SCSS, its big - we have thousands of scss files.
One of the best things about this app is skin changing. Its like dark/light mode, but much advanced. Each skin has its own styles, background videos and other things. You can check app look with different skins on screenshots. It's awesome!