=Paper= {{Paper |id=Vol-3741/paper73 |storemode=property |title=PNRRorienta: A Web Application for Managing Schools, Courses, and Students Involved in the PNRR Orientation Initiative |pdfUrl=https://ceur-ws.org/Vol-3741/paper73.pdf |volume=Vol-3741 |authors=Andrea Pasin,Lorenza Da Re,Andrea Gerosa,Lidia Pezzuoli,Silvia Preciso,Nicola Ferro |dblpUrl=https://dblp.org/rec/conf/sebd/PasinRGPP024 }} ==PNRRorienta: A Web Application for Managing Schools, Courses, and Students Involved in the PNRR Orientation Initiative== https://ceur-ws.org/Vol-3741/paper73.pdf
                                PNRRorienta: A Web Application for Managing
                                Schools, Courses, and Students Involved in the PNRR
                                Orientation Initiative
                                Andrea Pasin1,* , Lorenza Da Re2,3 , Andrea Gerosa1,2 , Lidia Pezzuoli2 , Silvia Preciso2
                                and Nicola Ferro1
                                1
                                  Department of Information Engineering (DEI), University of Padua, Italy
                                2
                                  Orientation and Tutoring Department, University of Padua, Italy
                                3
                                  Department of Philosophy, Sociology, Pedagogy, and Applied Psychology (FISPPA), University of Padua, Italy


                                           Abstract
                                           The National Recovery and Resilience Plan (PNRR) allocates funds to universities for participating in an
                                           initiative for delivering orientation courses to students in the last three years of secondary education.
                                           The University of Padua is among the institutions joining this initiative.
                                               The main objective of these courses is to help students understand the significance of higher education
                                           and its value to society. These courses also provide students with an opportunity to explore different
                                           educational offerings. Additionally, students can gain practical experience in active and laboratory-based
                                           disciplinary teaching, consolidate their knowledge, and develop reflective and transversal skills. Finally,
                                           students can also get an overview of various employment sectors and potential job prospects.
                                               However, this initiative requires a big effort to plan all the lectures and manage the huge amount
                                           of students, institutes, courses, and professors involved. Therefore, in this work we present a Web
                                           application, called PNRRorienta, we have designed and developed to manage and simplify all the tasks
                                           related to this initiative. The University of Padua has started to use this application in September 2023
                                           and, as of February 2024, it handles more than 70 different secondary education institutes in the Veneto
                                           Region, almost 200 courses offered to students, more than 1,300 lectures, more than 400 professors, and
                                           almost 10,000 students actively enrolled.

                                           Keywords
                                           Web Application, Management System, PNRR, Orientation




                                1. Introduction
                                In the last three years of secondary school, students face a crucial moment in which they
                                need to take decisions that will shape their educational future and, ultimately, their job and
                                career opportunities. Thus, it is fundamental to support students in taking informed and
                                careful decisions about the path to follow for their future. To this end, the National Recovery
                                and Resilience Plan (PNRR) allocates funds to universities for organizing and offering specific
                                SEBD 2024: 32nd Symposium on Advanced Database Systems, June 23-26, 2024, Villasimius, Sardinia, Italy
                                *
                                  Corresponding author.
                                $ andrea.pasin@phd.unipd.it (A. Pasin); lorenza.dare@unipd.it (L. Da Re); andrea.gerosa@unipd.it (A. Gerosa);
                                lidia.pezzuoli@unipd.it (L. Pezzuoli); silvia.preciso@unipd.it (S. Preciso); nicola.ferro@unipd.it (N. Ferro)
                                € https://www.dei.unipd.it/~pasinandre/ (A. Pasin); https://www.dei.unipd.it/~gerosa (A. Gerosa);
                                https://www.dei.unipd.it/~ferro/ (N. Ferro)
                                 0009-0007-5193-0741 (A. Pasin); 0000-0002-3395-8034 (A. Gerosa); 0000-0001-7116-9338 (N. Ferro)
                                         © 2024 Copyright for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).




CEUR
                  ceur-ws.org
Workshop      ISSN 1613-0073
Proceedings
orientation courses that support students in understanding the importance of higher education
in our society but also introduce them to the world of work and its employment sectors1 .
   Many universities are committed to this initiative and the University of Padua is among them,
strongly believing that through this initiative students can be guided in their path towards a
fulfilling future, contributing to both personal satisfaction and societal advancement.
   However, this initiative calls for many different stakeholders – students, staff at secondary
education institutes, administrative staff at universities, and professors – and requires a big
effort to organize, offer, and deliver courses involving so many actors. As a consequence, it is
hardly feasible to manage the whole process in a “manual way”, because of the amount of data,
the risk of errors and inconsistencies, and the excessive load and effort required. However, while
CINECA has developed for the Ministry of University and Research a Web application where
to submit and report the activities conducted by Universities to be granted the corresponding
funding, to the best of our knowledge, there is no application readily available for universities
to help them to organize, manage, and deliver the orientation courses and to collect the data
required for the administrative reporting to the Ministry.
   Therefore, we designed and developed the PNRRorienta2 Web application, which the Uni-
versity of Padua has recently adopted to address the needs raised by then PNRR orientation
initiative. PNRRorienta has been co-designed together with the various stakeholders involved
and it has undergone continuous refinements in collaboration with domain experts, ensuring
adjustments and customizations based on their valuable feedback.
   PNRRorienta automates many of the tasks required for collecting, managing, and sharing the
required data among all the involved stakeholders, as well as with formal obligations, such as
the signature of an agreement between the university and each secondary education institute. It
can be seen as a sort of intermediary between the University of Padua, the secondary education
institutes, and the professors with the purpose of streamlining and improving communication
and data exchange, also featuring a user-friendly interface that allows for easy interaction with
the system.
   PNRRorienta has been tailored to specifically fulfill the procedures and rules required by the
PNRR orientation initiative and it could be useful also for other Italian universities participating
in it. Moreover, thanks to its modular design, it could be easily extended and further adapted to
the specific needs of other universities.
   The paper is organized as follows: Section 2 introduces related works; Section 3 discusses the
system’s requirements; Section 4 shows the design and implementation of the Web application;
Section 6 presents some statistics regarding the usage of the system; finally, Section 7 draws
some conclusions and outlooks some future work.




1
  More information on “Investimento 1.6 Orientamento attivo nella transizione scuola-
  università”      are     available   at:          https://www.mur.gov.it/it/pnrr/misure-e-componenti/m4c1/
  investimento-16-orientamento-attivo-nella-transizione.
2
  https://pnrrorienta.unipd.it/
2. Related Works
2.1. Moodle
Nowadays, most universities rely on Learning Management System (LMS) and e-learning plat-
forms to create, deliver, and manage online courses and learning environments [1]. In this
context, Moodle is an open-source e-learning platform, that is used by several institutions around
the world, and provides a virtual learning environment that fosters collaborative participation
among students and interaction between students and teachers [2].
   The University of Padua is one of the many institutions that adopted this platform to offer
and manage its courses. Although Moodle is a modular and flexible platform, it is not suitable
for satisfying all the requirements and features needed for the PNRR orientation initiative.
Indeed, most of the required functionalities are either only partially supported by existing
components, which would lead to contrived workflows and practices, or call for deep adaptation
and modification of the platform, which would demand substantial development effort, still
leading to a sub-optimal solution. For these reasons, we have decided to not rely on Moodle for
developing PNNRorienta.

2.2. Customer Relationship Management Systems
Customer Relationship Management (CRM) systems are another potential candidate for exe-
cuting the PNRR orientation initiative since they are used to automate and improve business
processes [3]. Among them, SAP (Systems, Applications, and Products) is a leading solution that
integrates various business functions into a unified platform and helps organizations manage
their operations, including finance, sales, inventory, human resources, and more, in a stream-
lined and efficient manner. As an alternative to SAP, Salesforce is a cloud-based CRM platform
that offers a suite of applications designed to help businesses manage and streamline their sales,
marketing, customer service, and other functions.
   Despite being leading market solutions, both SAP and Salesforce were deemed not suitable
for the purposes of the PNRR orientation initiative. First, they are proprietary solutions with
high adoption costs. Secondly, they are extremely huge and complex systems, quite oversized
for the actual requirements and needs of the PNRR orientation initiative. Thirdly, as in the case
of Moodle, they would have required further adaptation and customization, only to partially
fulfill the requirements.

2.3. Web Develpoment Frameworks
There are various programming languages and frameworks that can be used to develop Web
applications. Considering the Python programming language, Flask and Django are two of
the most popular options: Django [4] is a simple, robust, and flexible framework that allows
developers to build Web applications with ease and without much overhead; Flask [5] is a
small but powerful and extensible micro-framework, consisting of core services and pluggable
extensions, which streamline the development and provide off-the-shelf components ready to
use.
3. Requirements
We briefly describe the overall main requirements specified by the domain experts for the
PNRRorienta Web Application:
   1. provide a database to record and store all the required data;
   2. upload, process, and export data via spreadsheets. Some spreadsheets will subsequently
      be uploaded to the official platform of the Ministry of University and Research in order
      to monitor and report the activities of each university;
   3. develop a user-friendly interface that allows staff at both universities and secondary
      education institutes to easily interact with the application;
   4. provide separated areas for users belonging to the staff of the university and of the
      secondary education institutes. These areas are accessible via login by users with a given
      role, who can perform only actions specific to their role;
   5. allow secondary education institutes to register themselves in PNRRorienta to book
      courses and to record the attendance of students to courses. Institutes are represented by
      one or more representative teachers, responsible for performing all the expected activities,
      like booking courses, enrolling students, signing agreements, and so on;
   6. automatically generate the agreements to be signed by the university and the secondary
      education institutes as well as the reports and documentation required by the Ministry;
   7. send automatic e-mails when some specific actions are performed, e.g., registration of an
      institute, insertion of a lecture, and so on;
Here we summarize some of the main additional constraints that need to be met:
   1. each course is composed of several modules (for a total duration of 15 hours) and is offered
      according to several possible editions, i.e., each edition of a course represents a different
      period in which the course is delivered;
   2. each module has a specific duration, can be taught by one or more professors, and can
      belong to different courses;
   3. all the lectures must be associated with a specific module of an edition of a course and
      can be taught by some or all the professors assigned to the module;
   4. each secondary education institute can consist of different related schools and each
      institute has one or more representative teachers who are in charge of interacting with
      the Web Application, e.g., booking courses, enrolling students, and so on;
   5. each institute can reserve course editions and enroll students once bookings are confirmed;
   6. each student can be subscribed only to one of the editions of the courses during the overall
      initiative. Each student belongs to a given institute and to a corresponding related school;
   7. all agreements are associated with a given secondary education institute and must be
      duly signed.
                                                                                                                                                                                                                                                                                                                      TokenExpirationTime
                                                 Requirements




                                                                                                                                                                                    LastModified




                                                                                                                                                                                                                                                                                                        LastModified
                        Description




                                                                                                                                   Password




                                                                                                                                                                                                                                                                            Password
                                                                                                                                                            Surname




                                                                                                                                                                                                                                                                                              Surname
                                      Category




                                                                                                                                                                          Created
                                                                Image
              Name




                                                                                                                                              Name




                                                                                                                                                                                                                                                                                       Name
                                                                                                                           EMail




                                                                                                                                                                                                                                                                    EMail
 ID




                                                                                                                                                                                                                                                       ID
                        COURSE                                                                                                                    ADMIN                                                                                                              RESPONSIBLE




                                                                                                                                                                                                               Confirmed
                                                                                                                                                                                                                            DSA
                        Order




                                                                                                                                                                                                                                  Note
                                            (1, N)
                                                                                                                                                                                                                                                                                          (1, 1)
 Created




                                                                           LastModified




                                                                                                                                                                                                                                                      Created
                                                                                                                                                                                                                                                                    Token
                                                                                           (0, N)


                                                                                                         (1, 1)                                                                                       (0, 1)                             (0, N)




                                                                                                                                                                                                                                                                                                            MunicipalityCode
                        CONSIST                                                              REPEAT                                                                                                                   BOOK                                                  BELONG




                                                                                                                                                            MaxStudents




                                                                                                                                                                                                                                                                                                                                                                                                                                           LastModified
                                                                                                                                                                                    LastModified
                                                                                                                                              MinStudents




                                                                                                                                                                                                                                                                                                            Municipality




                                                                                                                                                                                                                                                                                                                                                                                             SignedPDF
                                                                          Description




                                                                                                                                                                                                                                                                                                                                                                                 Validated
                                                                                                                                                                                                                                                                                                            Province




                                                                                                                                                                                                                                                                                                                                                                                                                                 Created
                                                                                                                                                                          Created




                                                                                                                                                                                                                                                    Phone
                                                                                                                                   Period




                                                                                                                                                                                                                                                    Status
              Name




                                                                                                                                                                                                                                                    Name
                                                                                                                                                                                                                                                    EMail
                                            (0, N)




                                                                                                                                                                                                                                                                                                                                                                            ID
 ID




                                                                                                                           ID




                                                                                                                                                                                                                                                    ID
                                                                                                                                                                                                               Expiration
                                                                                                                                                                                                                                                                                          (0, N)




                                                                                                                                                                                                                                                                                                                                            (0, N)                 (1, 1)
                        MODULE                                                                                                                EDITION                                                           ENROLL                                                      SCHOOL                                                                    BELONG                          AGREEMENT
                                                                                                                                                                                                  (0, N)                                  (0, N)




                                            (0, N)
                                                                                                                                                                                                                                                                                                                                             (0, N)            (1, 1)




                                                                                                                                                                                                                                                        Created




                                                                                                                                                                                                                                                                                                          Token

                                                                                                                                                                                                                                                                                       Surname HeadBornPlace
                                                                                                                                                                                                                                                        Address
                                                                                                                                                                                                                                                         Status

                                                                                                                                                                                                                                                    LastModified

                                                                                                                                                                                                                                                                                                           Head

                                                                                                                                                                                                                                                                                                HeadFiscalCode


                                                                                                                                                                                                                                                                                            TokenExpirationTime
 Duration
              Created




                                                                          LastModified




                                                                                                                                                                                                                                                                                                 HeadBornDate
                                                                                                        (0, N)
                                                                                                                                                                                                                                                                                                                                                      RELATE


                                                                                         (0, N)                   (0, N)                                                                                                                 (1, 1)
                            TEACH                                                                   SCHEDULE
                                                                                                                                                                                    LastModified
 FiscalCode




                                                                                                                                                                                                                                                       FiscalCode
                                                                                                                                                                                                                                                                                                                                             (1, 1)            (0, N)
                                                                                                                                              TimeSlot




                                                                                                                                                                          Created




                                                                                                                                                                                                                                                                                                                                                      STUDY                  RELATED_SCHOOL
                                                                          Name




                                                                                                                                                                                                                                                                                       Name
              Email




                                                                                                                                                                                                                                                                    EMail
                                                                                                                                                            Note
                                                                                                                                   Date




                                                                                                        (1, N)
                                                                                                                           ID




                                            (0, N)




                                                                                                                                                                                                                                                                                                                                                                            ID
                                                                                                                                                                                                                                                                                                                                                                                 Name
                                                                                                                                                                                                                                                                                                                                                                                             Municipality
                                                                                                                                                                                                                                                                                                                                                                                                            Province
                                                                                                                                                                                                                                                                                                                                                                                                                       Address
                                                                                                                                                                                                                                                                                                                                                                                                                                 Created
                                                                                                                                                                                                                                                                                                                                                                                                                                           LastModified
                                                                                                                                                                                                  (0, N)                                   (0, N)
                  PROFESSOR                                                                                                                   LECTURE                                                           ATTEND                                                      STUDENT
 Surname
              SSD
                        Type
                                      Title


                                                                Created
                                                                          LastModified




                                                                                                                                                                                                                                                       CityCode
                                                                                                                                                                                                                                                                    Class




                                                                                                                                                                                                                                                                                                        Created
                                                                                                                                                                                                                                                                                                                      LastModified




Figure 1: The conceptual schema with all the entities and their relationships.


4. Design and Development of PNRRorienta
4.1. Conceptual Schema
Figure 1 shows the conceptual schema of the database, discussed and refined over several
iterations with our domain experts. Orange entities and relationships are mainly concerned
with the university and its staff while the blue ones with secondary education institutes and
their representative teachers. We briefly summarize the main features of the schema:
                           • each course is composed of several modules and is offered according to several possible
                             editions. Each module can be used in different courses and is taught by one or more
                             professors;
                           • each secondary education institute (the School entity in the schema) can refer to different
                             schools and each institute has one or more representative teachers. Each school can have
                             one or more agreements with the university and can book one or more editions of a
                             course;
                           • each student can be subscribed only to one edition of a course and can belong only to
                             one institute and to the corresponding related school;
    • each lecture of an edition of a course is conducted by one or more professors associated
      with a given module.
  We developed the database using PostgreSQL, a leading open-source, scalable, and robust
database management system.

4.2. Back End and Front End
We designed our platform following the most commonly used Web standards (HTTPS, HTML,
CSS, JavaScript) that ensure reliability, security, and interoperability. We also adhered to the
Representational State Transfer (REST) paradigm [6]. We used the Django and Flask Python
frameworks, discussed in Section 2.3, to develop the Web application.
   Since our Web application is exposed to the Internet and its underlying database contains
sensible data, we carefully analyzed the principal risks in terms of security. Therefore, we
decided to apply the following countermeasures to mitigate some possible attacks:
    • Data validation: all submitted data is validated both at the Front End and at the Back
      End. In this way, it is not possible to store harmful data in the database, which could
      compromise the overall security of the Web application.

    • Parameterized queries: all data used in the queries to perform some operations on
      the database is treated as data rather than executable SQL code which could perform
      malicious actions. In this way it is possible to mitigate SQL injection attacks, which are
      one of the major causes of data breaches;

    • Cross-Site Request Forgery (CSRF) protection: CSRF tokens are generated as a protec-
      tive measure to ensure that requests originate from the intended user and not from an
      attacker-controlled website.
   The User Interface (UI) has been studied and developed to be responsive, user-friendly, and
animated. We highlight that the UI plays a fundamental role, as it is the primary point of
interaction between users and the application itself. Responsiveness is crucial since it ensures
that the application looks and functions seamlessly across different devices and screen sizes,
from desktop computers to smartphones and tablets. In this way, users can easily navigate
through our application, interact with its features, and access important information regardless
of the device they are using, thus improving accessibility and usability.


5. The Running PNRRorienta Application
In PNRRorienta several Web pages allow both users and the administrative staff to perform
specific actions. However, due to limited space and the presence of sensitive data, we decided
to present here only some of the most relevant ones. Figure 2 provides a visual representation
through screenshots of PNRRorienta, capturing the user interface across both desktop and
mobile platforms. In particular, Figure 2a and Figure 2b show the interface of the home Web page
using different devices. Figure 2c shows the page where it is possible to browse and book courses.
In this section, some modal windows can be visualized on top of the Web page to view courses
                                                      (b) Homepage visualized from a computer.




                                                     (c) Courses page visualized from a computer.




                                                (d) Administrator page used to manage courses, modules,
   (a) Homepage visualized from a smartphone.       editions, and professors.
Figure 2: Some screenshots showing the design of some Web pages and their responsiveness across
different devices.


more in detail and to perform bookings. Figure 2d shows a page accessible only by admins
that allows them to create, modify, and delete all data related to modules, courses/editions, and
professors. Also in this case, several modal windows are available to allow the administrative
staff to perform specific actions according to their needs.
   We remark that the Web interfaces have been designed and tailored to the specific needs of
both users and the administrative staff at the University of Padua to allow for easy interaction
with the platform and the data.
6. Usage Statistics
PNRRorienta was launched in September 2023 and we report some of its usage statistics, as of
February 2024:

    • Courses: 194 courses are available, comprising a total of 318 modules. Each course
      features 3-5 modules on average, with a cumulative count of 620 editions across all the
      courses;

    • Lecturers: 424 professors and lecturers contribute to the program, delivering modules for
      various courses and editions resulting in a total of 1,314 lectures that have been scheduled
      and/or already delivered;

    • Secondary Education Institutes: 305 institutes are present in our system, with 74 of
      them duly registered;

    • Students: a total of 9,873 students are registered within the system, with attendance
      records tracked for each one of them;

    • Emails: over 2,000 automated emails have been sent without the need for human inter-
      vention;

    • Agreements: 59 agreements have been signed and uploaded into our system.

These statistics underline the importance of PNNRorienta in automating tasks and facilitating
communication between the administrative staff, the professors, and the institutes.


7. Conclusions
We presented PNRRorienta, a Web application to manage the orientation courses offered by
the University of Padua according to the PNRR initiative. The application has been specifically
designed to manage all the tasks related to the PNRR orientation initiative.
   We have discussed how we designed the system and how we implemented it according to
the current standards in Web development. We have also shown that our system has been very
helpful in automating several tasks and handling all the data, simplifying the work that the staff
at university and secondary education institutes would have to perform otherwise.
   According to the users’ feedback, we will continuously refine, adjust, and improve PNRRori-
enta, thus enhancing its functionalities and ensuring the delivery of an optimal service both for
the secondary education institutes in the Veneto region but also for the administrative staff at
the University of Padua. We also hope that PNRRorienta will turn out to be a useful resource
for other Italian universities participating in the PNRR orientation initiative.


References
[1] M. Weller, Virtual learning environments: Using, choosing and developing your VLE,
    Routledge, 2007.
[2] G. C. Oproiu, A study about using e-learning platform (moodle) in university teaching
    process, Procedia-Social and Behavioral Sciences 180 (2015) 426–432.
[3] H. M. Al-Sabri, M. Al-Mashari, A. Chikh, A comparative study and evaluation of erp
    reference models in the context of erp it-driven implementation: Sap erp as a case study,
    Business Process Management Journal 24 (2018) 943–964.
[4] J. Forcier, P. Bissex, W. J. Chun, Python web development with Django, Addison-Wesley
    Professional, 2008.
[5] M. Grinberg, Flask web development: developing web applications with python, " O’Reilly
    Media, Inc.", 2018.
[6] R. T. Fielding, et al., Architectural styles and the design of network-based software architec-
    tures, volume 7, University of California, Irvine Doctoral dissertation, 2000.