What does full-stack development entail?