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
  • Brite
  • 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 - Status | 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 3.6k 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]

    Indie app dev, scratching my itches, lover of Cloudron PaaS, communityapps.appx.uk

    1 Reply Last reply
    10
    • andreasduerenA Offline
      andreasduerenA Offline
      andreasdueren
      App Dev
      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

        Indie app dev, scratching my itches, lover of Cloudron PaaS, communityapps.appx.uk

        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.

            Indie app dev, scratching my itches, lover of Cloudron PaaS, communityapps.appx.uk

            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.

              Indie app dev, scratching my itches, lover of Cloudron PaaS, communityapps.appx.uk

              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 😄 )

                    Indie app dev, scratching my itches, lover of Cloudron PaaS, communityapps.appx.uk

                    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.

                      Indie app dev, scratching my itches, lover of Cloudron PaaS, communityapps.appx.uk

                      1 Reply Last reply
                      0

                      Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                      Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                      With your input, this post could be even better 💗

                      Register Login
                      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