course list - creating the client-side code
course list - creating the server-side code
course list - filtering and sorting
caching data
prevent error on empty username
course details - creating the client side code
course details - creating the server side code