I recently took part in the London Business Schools Hackathon, HackLBS. A weekend event, ran by London Business School with the premise of creating products to solve future needs.
We organised into teams and spent the time designing a product and action plan for starting a company.
My team decided to create a tool which shows users a map of their online presence. A credit check for your online information. The idea behind this is to give people access to some of the information companies (especially those advertising to them) have on them.
My team won, which meant we took home the prize money of £2,500. We decided to use this money to go forward with creating a startup.
I was the only developer on the team so I was responsible for designing what the System would look like. With the help of our mentors I drew up the architecture of a simple MVP, a webapp which pulled in data from a number of social media APIs.
System Design of the App and Database:
How this would work
A user would be presented with a login or Sign up page.
The application would send this login information to the database. To do this it would first it would encrypt this information. It would encrypt it (especially the password) by first creating a HMAC hash then base64 string then url encrypting this. An example of what this code would look like can be found at this git repo.
Then it would create a model which would map to the database and save the encrypted user information to it.
A new view page would then appear asking the user to grant access to their social media accounts.
A virtual machine is essentially a new machine on your current one. A new environment (area(in memory)) which is separate to your current.
Why would one do this you ask?
Simplezz, to create a windows operating system on a mac computer. This would mean you no longer use an IOS environment but have what is basically a windows computer on your mac.
To set this up your computer will allocate processing power and memory away from your current operating system (what currently looks like your whole machine) and gives it to a new one (what looks like a windows machine).
Why did I do this?
My whole coding life I have been a mac user, however recently started coding in C#.
C# is a programming language written to operate on Microsoft’s .Net programming framework. This means to work on older* .Net programmes I need to use a Windows machine to run the code.
*.Net core now allows you to develop C# on a mac or linx.
This is a guide on exactly how to set up VMWare Fusion on your mac computer: