Course: Web Development 2
Study guide Term: 2.3
EC: 4
Web Development 2
Lecturer(s): M. de Haan
Course content
During this module, students will continue to build on the knowledge and skills of the previous
course, Web Development 1. The goal of this course is to be able to build web applications with a
JavaScript framework ([Link]) and a REST API backend (PHP).
The following topics are covered related to PHP and the development of the backend of web
applications:
• Working with Composer for backend dependency management
• Creating REST API endpoints (standards & best practices)
• API authentication using JWT
• Integrating an existing external API (such as a payment provider)
The following topics are covered related to JavaScript and the development of the frontend of web
applications:
• Implementing an SPA (Single Page Application) in [Link]
• Structuring an application into logical components
• Using routing for navigation
• Implementing data binding
• Implementing state management
• Communicating with a REST API
• Implementing security using JWT
Exam information
Students develop an individual application.
The student assures that the web application is approachable via a public URL. The application source
code, the URL and any necessary login information are then submitted by the student in a Moodle
assignment.
The application will be graded according to rubrics (specified in a separate document).
Planning
Week Lecture Homework
1 Introduction to VueJS (project setup, single file Develop a Todo app in
components, displaying data in a template) [Link]
2 Applications with multiple components (props & events,
routing)
3 Using PHP and Composer, (namespaces, autoloading,
external dependencies)
Developing a full REST API in PHP (get, post, put, delete,
standards, best practices)
4 Using REST API’s in [Link] (Sending and receiving with Start work on your end
Axios) project as a VueJS
application.
Implementing a full CRUD UI in [Link]
5 Authentication (Generating and validating JWT using PHP, Work on your end project.
using JWT in Vue)
6 State management (Pinia) Work on your end project.
Saving time with component frameworks
7 Code reviews Hand in end project.