End-to-end JS applications exam solution