Forms allows the creation of shareable forms, with multiple question types and privacy settings.
**Note**: This app is tested with Apache2 webserver, MySQL database, and apt-get package manager. To use alternatives, replace the relevant commands with those of your technology. This document assumes that a working
NextCloud development environment has been installed. See https://docs.nextcloud.com/server/stable/developer_manual/general/devenv.html for help with this.
The following are the most important code files for development of the Forms App.
**Note**: all paths are relative to nextcloud/apps/forms/
- **lib/Controller/apiController.php**: The main API of the application. The functions defined in this file are called from http requests, and interface with the database
- **lib/Controller/pageController.php**: Passes objects between screens
- **lib/Db/**: All the files where database entities are defined and SQL queries are written. Mapper files define functions that retrieve data from the database
- **src/js/**
- **Main.js**: where Vue app is created
- **App.vue**: The root component for the vue app
- **Router.js**: Defines URLs that can be navigated to from the Vue app
- **src/js/components/**
- **formsListItem.vue**: Defines the list items (created surveys) within the forms app home page
- **quizFormItem.vue**: Questions (for any survey) are defined as a quizFormItem here
- **src/js/views/**
- **Create.vue**: File where survey creation page is handled