Cloudron makes it easy to run web apps like WordPress, Nextcloud, GitLab on your server. Find out more or install now.


Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Bookmarks
  • Search
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

Cloudron Forum

Apps | Demo | Docs | Install
  1. Cloudron Forum
  2. App Wishlist
  3. Really Simple Form App

Really Simple Form App

Scheduled Pinned Locked Moved App Wishlist
10 Posts 3 Posters 1.8k Views 3 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • timconsidineT Offline
    timconsidineT Offline
    timconsidine
    App Dev
    wrote on last edited by timconsidine
    #1

    OK, bit naughty (sorry) adding this as a wishlist, but here we go.

    I've struggled to find a suitable simple form app.
    Everything is a darned obese elephant doing a job which a mouse can do.
    And the mouse does a better (as in more functional) job !
    (Yep, looking at you Nextcloud, formio, ohmyform, lime-survey etc. etc.)

    So I built one "to scratch my itch".
    And it only seems fair to share it in case it helps others.

    https://git.cloudron.io/timconsidine/custom-form-cloudron

    Configurable Form storing to Directus

    This is a simple web app running in NodeJS to display a form and write the responses to a Directus collection.

    By "simple", I mean it is NOT a full-blown forms solution, and is not meant to be. This gets the job done simply, easily, without installing an elephant to pull what a single mouse can do by itself.

    The primary page displays the form with fields you set in config.json.

    A second page allows the viewing of responses as a web page, which can be printed using standard browser functionality to paper or PDF.

    Data is in Directus ready for use in another app if needed.

    A key feature of the app is that the primary app and form elements can be set in the app's .env file.

    • DIRECTUS_TOKEN
    • DIRECTUS_COLLECTION_URL
    • YOUR OWN FORM FIELDS !!
    • VIEW_PAGE_USERNAME
    • VIEW_PAGE_PASSWORD
    • PAGE_TITLE
    • HEADER_TITLE
    • SUBHEADER_1
    • SUBHEADER_2
    • FOOTER_BACKGROUND_COLOR
    • FOOTER_TEXT_COLOR
    • YOUR LOGO (upload to /app/data/public)

    Just edit /app/data/.env AND RESTART THE APP.

    The form is deliberately not highly styled.
    Minimalist and functional, not whizz-bang.
    Want whizz-bang ? Go for it - edit index.html.

    The view page is password-protected - change the values in /app/data.env.
    The view page is also very plain design, so that it can easily be printed to paper or PDF.
    This is the form page.

    Screenshot 2023-11-25 at 18.54.02.png

    ToDo :

    • add support for additional form field types (date, checkbox etc.)
      [I only needed text and select initially]
    1 Reply Last reply
    10
    • andreasduerenA Offline
      andreasduerenA Offline
      andreasdueren
      wrote on last edited by
      #2

      Nice job!

      1 Reply Last reply
      1
      • timconsidineT Offline
        timconsidineT Offline
        timconsidine
        App Dev
        wrote on last edited by
        #3

        I have added support for additional field types :

        • decimal
        • integer
        • checkbox / boolean
        • date

        https://git.cloudron.io/timconsidine/custom-form-cloudron

        1 Reply Last reply
        2
        • L Offline
          L Offline
          LoudLemur
          wrote on last edited by LoudLemur
          #4

          Thanks for this, Tim. Does it support uploading a file as part of the form? For example, could questions include:

          Please upload a .pdf / .img / .mkv

          If so, where would the storage be and how is it configured?

          Also, do you have a screenshot of how things look when you have had several responses to a form? For example, if the form had three questions and 4 respondents, how would it look?

          timconsidineT 1 Reply Last reply
          0
          • L LoudLemur

            Thanks for this, Tim. Does it support uploading a file as part of the form? For example, could questions include:

            Please upload a .pdf / .img / .mkv

            If so, where would the storage be and how is it configured?

            Also, do you have a screenshot of how things look when you have had several responses to a form? For example, if the form had three questions and 4 respondents, how would it look?

            timconsidineT Offline
            timconsidineT Offline
            timconsidine
            App Dev
            wrote on last edited by timconsidine
            #5

            @LoudLemur file upload is not currently supported, but it's a great suggestion, and I will add it to the ToDo list.

            Storage : sounds like you have a preference ?
            I'd probably add a files path to the configuration for somewhere in /app/data, e.g. default /app/data/files.
            Where would you want it to be ?

            Here's a mock-up with dummy data, showing the view page.
            Design is "clean" to be printed to paper or PDF using browser print function.

            Screenshot 2023-12-08 at 00.33.03 Large.jpeg

            And the Directus view is quite clean and useful :

            Screenshot 2023-12-08 at 00.50.26 Large.jpeg

            If you have a form in mind, let me know and I will knock one up for you.

            1 Reply Last reply
            0
            • timconsidineT Offline
              timconsidineT Offline
              timconsidine
              App Dev
              wrote on last edited by timconsidine
              #6

              Current ToDo list :

              • add simple admin screen to edit config.json (saves launching File Manager to open file)
              • add additional text area to main form page (for instructions, explanations etc.)
              • add some anti-spam measure, maybe just a privacy-friendly captcha (concept is open access form submission, but anything open can attract some robot after long enough)
              • add sort functionality for the View page (to sort responses by a form field)
              • add file upload

              Happy to consider other additions.

              1 Reply Last reply
              1
              • L Offline
                L Offline
                LoudLemur
                wrote on last edited by
                #7

                Thanks for asking!

                For data storage, I would like it to be the Cloudron default, /home/yellowtent/appsdata/...

                Then wherever would be easiest for some alternative block/object storage, if another location were chosen. It would be sweet if a storage allowance for the application could be set to an arbitrary value from the admin panel. Maybe deleting older uploaded content on a first in / first out basis, if the limit is reached.

                I hope that the form supports responses in the form of a radio button choice / check-box, too.

                As a stretch goal when everything else is sorted, maybe code it in such a way that data could be presented using e.g. Apache eCharts: https://echarts.apache.org/examples/en/index.html#chart-type-sunburst

                timconsidineT 1 Reply Last reply
                0
                • L Offline
                  L Offline
                  LoudLemur
                  wrote on last edited by
                  #8

                  Also, are you going to try and have AI review or even 1st draft the code?

                  timconsidineT 1 Reply Last reply
                  0
                  • L LoudLemur

                    Also, are you going to try and have AI review or even 1st draft the code?

                    timconsidineT Offline
                    timconsidineT Offline
                    timconsidine
                    App Dev
                    wrote on last edited by
                    #9

                    @LoudLemur a lot of it was written by AI !!
                    Reviewed by me (but might be better to trust AI more as I am not a Node developer 😄 )

                    1 Reply Last reply
                    0
                    • L LoudLemur

                      Thanks for asking!

                      For data storage, I would like it to be the Cloudron default, /home/yellowtent/appsdata/...

                      Then wherever would be easiest for some alternative block/object storage, if another location were chosen. It would be sweet if a storage allowance for the application could be set to an arbitrary value from the admin panel. Maybe deleting older uploaded content on a first in / first out basis, if the limit is reached.

                      I hope that the form supports responses in the form of a radio button choice / check-box, too.

                      As a stretch goal when everything else is sorted, maybe code it in such a way that data could be presented using e.g. Apache eCharts: https://echarts.apache.org/examples/en/index.html#chart-type-sunburst

                      timconsidineT Offline
                      timconsidineT Offline
                      timconsidine
                      App Dev
                      wrote on last edited by
                      #10

                      @LoudLemur I will take a look at Apache Charts, but not really into it, and it might not be within scope of "really simple form" app.

                      Directus might also be able to store file uploads - haven't checked - but I am not a fan of files in database storage.

                      1 Reply Last reply
                      0
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • Bookmarks
                      • Search