Blockchain / Cryptocurrency Understanding
To create blockchain functionality and unit tests in order to understand functionality and behavior of blockchain for peer-to-peer servers.
Follow online learning course to take me through the basics of learning a basic understanding of blockchain and how the decentralized ledger is ideal for maintaining cryptocurrencies.
Unit tests for each new function or class
Block class with constructor containing, timestamp, lastHash, current hash, data and (later) nonce
Blockchain class allowing new blocks to be added, but validated (checks to ensure genesis block, if last blocks are the same), allows chain to be replaced if the received chain is not longer than the current chain
Set up API for GET and POST for new blocks (using Postman as interface)
Set up peer-to-peer servers, allowing peers to contribute to the decentralized blockchain (given the classes in place)
Add in Difficulty and nonce (number only used once) attribute for mining purposes - keeping the blockchain safe from being hacked
Added ability for difficulty to adjust to number of miners (comparing time between blocks added timestamps)
Create Wallet class for cryptocurrency
Create a Transaction class for... transactions
Allow transactions to have multiple outputs/be updated
Create transaction pool for multiple users to submit new blocks
Calculate accurate wallet balances after transactions take place
Jest (unit testing)
Postman (used to interact with API endpoints)
Additional Node Packages/Libraries:
crypto-js (library of cryptography standards)
body-parser (parsing middleware)
ws (web sockets! For peer-to-peer server connectivity/updating)
elliptic (provides private, public key generation for cryptocurrency)
uuid (for the creation of unique transaction IDs)
What is it?
FLEX is a single page, mobile first we app that allows users to find gym buddies! Users can answer a few quick questions, including their gym location and workout buddy preferences and find others nearby who are looking to make friends and help each other stay accountable.
What problem is it solving?
FLEX allows users to find gym buddies! Users can answer a few quick quesitons, including their gym location and workout buddy preferences and find others nearby who are looking to make friends and help each other stay accountable.
Once you are able to search for "flex-mates," you can send a request to connect as friends and start texting with each other!
Seach for locaitons using built in Google Maps search box
Build a profile outlining your health goals
Upload profile photos
Enter preferences and filter
Peruse matching profiles
Send a friend request with someone you want to work out with
Once you're connected, start texting
FLEX is a mobile first app using the following technologies:
Heroku (server hosting)
Circle CI (continuous deployment)
Google Maps API (location)
Twilio API (texting)
Amazon Web Services (hosting profile pictures)
Devise Gem (registration/security)
Paperclip Gem (adding photos)