Here we have my first attempt at creating a social media platform on the ethereum blockchain utilizing Solidity to write the smart contracts, and the Truffle framework as well as Ganache for testing.
Here you see the beginnings of my smart contract that powers the application. The application itself is very basic as of now. Currently, it allows you to create a basic profile including a handle with city, state, and country information. From there, you can begin adding images to your profile. These URLs for these images are stored in a master list on the blockchain, linked to your user via the SHA256Hash of the image.
I am very happy to have discovered Truffle and Ganache. Truffle is a complete suite of tools built to help users get a head start in developing blockchain applications or Decentralized Applications (DApps). If you have familiarity with Bootstrap or Foundation as web frameworks, think of Truffle as the blockchain version. Ganache is great too, as it allows you to quickly spin up a test network complete with 10 user accounts and 100 fake ether for each. This allowed me to test out and debug my smart contract to ensure that the application worked before I pushed it to the ethereum mainnet. It would be a real bummer if I pushed a defunct application and wasted real ether on a broken application.
I used the Ganache-CLI for testing purposes. It is essentially the same application as the regular Ganache-GUI but lighter and not as pretty. Still, it allowed for the same functionality. You can see to the left a log of transactions that would auto update whenever a new transaction occurred. I still want to build out a front-end for this application. A simple web interface would be very nice. Once I develop the application more and add more user features like a bio section and phone number or email fields, I will start sketching out a web UI!