By the end of this module you will have selected a compendium of technologies and libraries that you can use in your final 5 day synoptic project. This is really about putting everything you have learnt on your apprenticeship together and writing software at a professional level.
We are going to cover the following:
What is a stack?
A stack refers to a collection of different software products that work together to create an application for the web. For example you may hear developers talk about the MEAN stack.
Each of these elements in the stack are designed to be modular. That means they can be used in combination with other technologies and frameworks. For example the MERN stack.
Can you spot the difference? What has been swapped out?
Remember you can also combine languages with APIs for example the JAM stack.
The JAM stack side steps the need to run a webserver. Your site can be a set of markdown files parsed into HTML pages (github pages, surge, gatsby etc), enhanced with javascript and use cloud based datastores like firebase, or services like Auth0. This method leverages cloud based products to remove the burden of writing and running all the services for a full stack app.
You need to decide on your stack. You will want to be able to create a CRUD app with user accounts.
This is a famous debate among software developers. There are pros and conns to both.
An example of a web framework is Ruby on Rails or Meteor. These are complete solutions where everything is configured for you. Generally you create a new app and these frameworks scaffold out a project for you.
A library is a non-volatile resource. A module of code compiled together that provides some functionality or service to a programme. An example of a web app using libraries might be a Node.js app build with:
In pairs can you think about the pros and conns of frameworks, and the pros and conns of using libraries? Report back to the cohort when you have finished.
Can you decide on a stack that you will use in your synoptic project. Create a new application with your stack and implement user accounts. Be ready to demo: