Publication in the Diário da República: Despacho n.º 8644/2020 - 08/09/2020
6 ECTS; 2º Ano, 2º Semestre, 56,0 PL , Cód. 911940.
Lecturer
- João Filipe Rodrigues Silva (2)
- José Casimiro Nunes Pereira (1)(2)
(1) Docente Responsável
(2) Docente que lecciona
Prerequisites
Mandatory knowledge of HTML, CSS, JavaScript and database modeling.
Objectives
At the end of the course, students should be able to:
1. Implement Web applications to access remote databases;
1.1 - Server side applications
1.2 - Client-side applications
2. Create APIs for REST applications
3. Apply security rules in web applications
4. Apply usability criteria to the interfaces;
Program
1. Programming of dynamic Web interfaces, using ASP .NET Core MVC;
1.1 - what is a Web Application?
1.2 - Client-Server Architecture
1.3 - protocols TCP/IP + HTTP(S)
1.4 - the MVC pattern
1.5 - creation of web applications, using the ASP .NET Core MVC tool, to interact with remote databases
1.5.1 - specification of the data structure, in 'code-first' mode, implementing business-rules
1.5.2 - creation of interfaces for interaction with data
1.5.3 - implementation of validations of data provided by users
1.5.4 - creation of user accounts, to implement policies for authentication and authorization of access to data in the database
1.6 - presentation of usability notions
1.7 - presentation and implementation of security rules in web applications
2. API development, using ASP .NET Core MVC;
2.1 - What is an API?
2.2 - what is REST?
2.3 - API creation strategies
2.4 - API creation, using the ASP .NET Core MVC tool
3. Application development in React
3.1 - differences in the execution of a web application, on the Client side, of a web application, on the Server side
3.2 - creation of a web application, using the REACT tool
3.2.1 - creation of interfaces for interaction with data
3.2.2 - implementation of validations of data provided by users
3.3 - presentation of usability notions
3.4 - presentation and implementation of security rules in web applications
4. Use of the GIT code version control service
4.1 - project creation
4.2 - submission of works
4.3 - creation of branches
Evaluation Methodology
Development of two Web applications, accessing remote databases;
1. Development of Project 1 (CLIENT component) - work developed in React, with specification of API: 20v max.
2. Development of Project 2 (SERVER component) - work developed in ASP .Net Core: 20v max.
Final classification: weighted average of the classifications of Projects 1. and 2.
- Project 1: 60% final grade
- Project 2: 40% final grade
- Minimum grade in each project: 7.0 val
Bibliography
- Meta Platforms, Inc, .. (0). React - A JavaScript library for building user interfaces. Acedido em 17 de março de 2022 em https://reactjs.org
- Microsoft, .. (0). ASP.NET. Acedido em 17 de março de 2022 em https://dotnet.microsoft.com/en-us/apps/aspnet
- Microsoft, .. (0). Web Development Courses. Acedido em 15 de março de 2018 em https://mva.microsoft.com/training-topics/web-development
- Mozilla.org, .. (0). Recursos para programadores, por programadores.. Acedido em 15 de março de 2018 em https://developer.mozilla.org/pt-PT/
Teaching Method
- Practical Work;
- Development and monitoring of individual projects.
Software used in class
- Microsoft Visual Studio 2022
- Microsoft Visual Studio Code
- SQL Server Express
- others, that are going to be revealed during classes