Table ANSWER - contains survey_id, question_id, answer_id, text
Table USER - contains user_id, username, name, hash
Table PARTECIPANT - contains survey_id, partecipant_id, name
Main React Components
SurveyNavbar (in Navbar.js): is the Navbar. The navbar displays the actual location and allows access to login and logout functionalities
SurveyHome (in SurveyHome.js): is the homepage component for an unauthenticated user. Allows users to display available surveys and compile them.
SurveyCompiler (in SurveyCompiler.js): is the component that allows an unauthenticated user to fill a survey and submit it.
Login (in Login.js): I
SurveyDashboard (in SurveyDashboard.js): is the homepage for an authenticated user (administrator). Allows administrators to list and check their own surveys and check how many subscriptions there are. Also a new survey can be created starting from here.
ResultReader (in ResultReader.js): this component allows administrators to check submissions navigating through partecipants' entries.
SurveyEditor (in SurveyEditor.js): this component allows administrator to create a new surve thanks to the step by step creation procedure
SurveyViewer (in SurveyViewer.js): this component can display a survey and handle answers to its questions. The survey can be open in read-only mode, in compile mode or in preview mode.
QuestionViewer (in QuestionViewer.js): this component is expolited to display a specific question and handle the answer submission
QuestionEditor (in SurveyEditor.js): this component is a form that is expolited to create a new question into the editor