Application Development – Structure

I thought I’d share more of the technical side of how I develop applications. What better way than to start with structure!

As I mentioned before, I primarily develop with software stacks. A stack can be described as multiple layers of different coding languages and frameworks working in unison to perform something bigger. In my case with Keep Track, I used a M.E.V.N stack to connect a Mongo database to an interactive frontend so information could be stored, accessed, modified, and removed by a user. One large benefit that I considered when choosing my stack of choice was security. Fortunately, MongoDB is much more difficult to inject malicious code into without many initial configurations. That’s if you keep it up to date of course.

Now you might be wondering what the differences/advantages of one stack over another? There are a number of stacks that are better suited for different occasions. My original intention was to deploy Keep Track onto mobile devices, though I ended up designing it specifically for tablets because of the feedback I received from Cold Stone (They don’t want employees on their phones). This brings up an additional feature that I still plan to add in the future for managers to track progress via a mobile device.

There are alternative stacks that are much more mainstream such as the L.A.M.P stack. This stack is highly utilized by industry because of how fundamental it is. The LAMP features PHP as the scripting language whereas the MEAN stack uses javascript. Much of programming just comes down to preference. If you’re interested in starting similar projects, I would highly recommend learning the LAMP stack first to grasp the fundamentals of cross-framework communication, then venturing out towards larger frameworks.

Now, you might have heard a developer mention using a frontend, backend, and database. To elaborate, a frontend is everything that a regular user sees in the web browser, typically created using HTML. The backend could represent anything from simple middleware code that connects the user interface to a database, to a computational environment that makes the front end come to life; often times, its a mixture of both. Databases are decently straight forward as their main purpose is to store data, the only variance among the different types is how the data is queried and stored.

I hope that this short blog was informative and somewhat motivational. I have plenty to blog about when it comes to software, however, I don’t want to bore the average reader. Thus, I will periodically be explaining my software development experience, but for the most part, I want to start blogging about my other interests in life!