MERN stack explained