year 2024-2025
The final grade will be computed using the formula: 0.4 · ExamGrade + 0.6 · ProjectGrade where
- ExamGrade - is the grade obtained at the written exam
- ProjectGrade - is the grade received for the project
The project should be a regular mobile application with a focus on good practices related to enhancing the security of the application. The requirements for the project are:
- it should have 6-8 use cases (i.e. an example of use case is the authentication/login which is required)
- it should use OAuth2 or JWT (JSON Web Token) for authentication
- it should use two databases: a) a local sqlite database (or remote firebase database) for storing various configurations and preferences for the user (e.g. colors for the UI) and b) a remote database (the remote database is not directly accesible to the mobile application, but there is an backend API service through which this database is accessed)
- there is a backend API service with an associated database that is used by the mobile application; the communication of the mobile app with this backend API service is done thorugh HTTPS (not HTTP) calls; this remote database containes various resources used by the mobile application
- the contents of the local sqlite database should be encrypted (encrypt it using a key derived from the user’s login credentials)
- the mobile application should have some text inputs from the user and should validate and sanitize user input
The written exam is a 30 minutes quiz exam. The questions from the quiz exam will be about topics discussed in the course's slides. You can find here the slides I have used for the lectures.
The re-examination will take place on Thursday, 20th of February 2025, time 17.00, room 5/I (T.Popovici, main building of the university).
You will present the projects right after the written exam.