Git Product home page Git Product logo

forms's Introduction

Forms

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.

Build the app

# set up and build for production
make

# install dependencies
make dev-setup

# build for dev and watch changes
make watch-js

# build for dev
make build-js

# build for production with minification
make build-js-production

Running tests

You can use the provided Makefile to run all tests by using:

ps: only works if you're using php locally and have forms installed info your apps default folder

make test

โœŒ๏ธ Code of conduct

The Nextcloud community has core values that are shared between all members during conferences, hackweeks and on all interactions in online platforms including Github and Forums. If you contribute, participate or interact with this community, please respect our shared values. ๐Ÿ˜Œ

โค๏ธ How to create a pull request

This guide will help you get started:

Code Overview

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

    • List.vue: File where list of created surveys is handled (located on the forms app home page)

    • Results.vue: File where page that displays survey results is handled

    • appinfo/routes.php: Defines server endpoints that can be accessed by the client

  • /js/vote.js: File that contains the logic for the response page and responding to a form

  • /css/vote.scss: File that contains CSS formatting for the response page

  • /templates/vote.tmpl.php: File that contains the form template that is dynamically populated by the database

forms's People

Contributors

dependabot-preview[bot] avatar nextcloud-bot avatar rullzer avatar tims3434 avatar skjnldsv avatar affan-hussain avatar barkuto avatar slink58 avatar jancborchardt avatar marcelklehr avatar rakekniven avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.