{"id":19544779,"url":"https://github.com/sergeiown/questionnaire","last_synced_at":"2026-04-15T05:31:54.783Z","repository":{"id":142750636,"uuid":"610512794","full_name":"sergeiown/questionnaire","owner":"sergeiown","description":"Questionnaire is not just a survey app, it has advanced functionality, including an administrative section for easy survey management, analysis of results, and flexible customization of survey design. Support for Google authentication, email sending, and a user-friendly interface panel will make your experience with the app even more productive.","archived":false,"fork":false,"pushed_at":"2024-07-17T10:41:09.000Z","size":1361,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-31T22:06:00.088Z","etag":null,"topics":["clipboard-polyfill","create-react-app","emailjs","eslint","firebase","firebase-auth","firebase-hosting","firebaseui","firestorage","firestore-database","google","google-sign-in","react","react-google-recaptcha","reactjs","rwd","scss","sheetjs","webpack"],"latest_commit_sha":null,"homepage":"https://github.com/sergeiown/questionnaire","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sergeiown.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-03-06T23:22:11.000Z","updated_at":"2024-07-17T10:41:12.000Z","dependencies_parsed_at":"2024-01-17T15:27:15.629Z","dependency_job_id":"84f689c0-1dcc-48fb-96bb-e13bf39c00f0","html_url":"https://github.com/sergeiown/questionnaire","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sergeiown/questionnaire","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sergeiown%2Fquestionnaire","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sergeiown%2Fquestionnaire/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sergeiown%2Fquestionnaire/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sergeiown%2Fquestionnaire/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sergeiown","download_url":"https://codeload.github.com/sergeiown/questionnaire/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sergeiown%2Fquestionnaire/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31828530,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-14T18:05:02.291Z","status":"online","status_checked_at":"2026-04-15T02:00:06.175Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["clipboard-polyfill","create-react-app","emailjs","eslint","firebase","firebase-auth","firebase-hosting","firebaseui","firestorage","firestore-database","google","google-sign-in","react","react-google-recaptcha","reactjs","rwd","scss","sheetjs","webpack"],"created_at":"2024-11-11T03:31:46.180Z","updated_at":"2026-04-15T05:31:54.754Z","avatar_url":"https://github.com/sergeiown.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# [Questionnaire](https://github.com/sergeiown/questionnaire)\n\n![image](https://github.com/sergeiown/questionnaire/assets/112722061/24cca864-e673-462b-97a6-a17a9ce26f24)\n\n## Simplify the process of creating and conducting surveys with clients, employees, and other participants using Questionnaire. This application provides full functionality for creating surveys, managing results, and offers a user-friendly interface for both administrators and users\n\n## *Current version 1.0.1 (improved email messages)*\n\n### Functionality\n\n***General:***\n\n- Fully responsive design.\n\n***Admin area:***\n\n- Authentication (using Google sign-in);\n- Authorization (using internal roles);\n- Notification of the user's completion of the survey (by receiving an email);\n- Results manager:\n\n  - Viewing the list of previously conducted surveys;\n  - Receiving the results of any of the available surveys in XLSX format;\n  - Delete a survey you no longer need;\n\n- Control panel:\n  - Create a new survey;\n  - Add a question to the survey:\n    - Selecting a question type;\n    - Selecting whether the answer is required;\n    - Add answer options if necessary;\n    - Delete an answer option;\n  - Delete a question using the appropriate interface element;\n  - Change the order of the questions using the appropriate interface elements;\n  - Select and add an image for the survey topic;\n  - Add a survey title;\n  - Sort the questions added to the survey as needed;\n  - Filter the questions added to the survey as needed;\n  - Search for a question by its content;\n  - Choose a color for the survey design using the color palette or color picker;\n  - Adding an email address to receive notifications (the default email address from your Google account is used);\n  - Exit with saving the results;\n  - Copy the link to the created survey to the clipboard;\n  - Notification of creating a new survey;\n  - Exit without saving the results;\n  - Applying temporary storage of intermediate data in case of atypical situations.\n\n***User area:***\n\n- Completing the survey by answering questions one by one;\n- Validation of answers:\n  - By data compliance;\n  - By mandatory data entry;\n- Visual display of the survey progress;\n- Textual display of the survey progress;\n- Visual design and sequence of questions in accordance with the administrator's preferences;\n- Notification of completion of the survey;\n- Prevent multiple surveys from being conducted from a single device (five-minute limit).\n\n**The version with the Ukrainian interface is currently available. The development of an English-language interface is planned.**\n\n---\n\n**This application was developed using [React](https://react.dev/).**  \n**This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).**\n\n**To develop the application, the following additional libraries were used:**\n| Library | Version | Purpose |\n|-------------------------|-------------|------------------------------------------------------------|\n| clipboard-polyfill | ^4.0.0 | Polyfill for working with the clipboard |\n| emailjs-com | ^3.2.0 | Library for sending emails |\n| firebase | ^8.10.1 | Infrastructure for developing web applications |\n| firebase/firestore | | Component for storing and retrieving data |\n| firebase/auth | | Component for user authentication |\n| firebase/app-check | | Component for protecting web applications |\n| react-google-recaptcha | ^2.1.0 | Component for interacting with reCAPTCHA |\n| xlsx | ^0.19.2 | Library for working with electronic spreadsheets |\n\n---\n\n### Application structure\n\n![image](https://github.com/sergeiown/questionnaire/assets/112722061/ccf45333-5078-4b6b-be81-b21cb0e8d047)\n\n---\n\n### Appearance\n\n|                           |         |         |\n|---------------------------|---------|---------|\n| Application               | ![image](https://github.com/sergeiown/questionnaire/assets/112722061/f828374b-2ab4-47ff-bfda-943d0c1c72d4) | ![image](https://github.com/sergeiown/questionnaire/assets/112722061/774f9f7a-cdfe-4bdc-bb70-67a6dc3f9ec7) |\n| Admin Area                | ![image](https://github.com/sergeiown/questionnaire/assets/112722061/12cd2549-7b67-4dce-a4cb-774f001be67b) | ![image](https://github.com/sergeiown/questionnaire/assets/112722061/22b1ad68-df79-4e35-90bb-c191a536ca48) |\n| Admin Area                | ![image](https://github.com/sergeiown/questionnaire/assets/112722061/0a799729-7c9c-4eee-975f-4b8445e9f239) | ![image](https://github.com/sergeiown/questionnaire/assets/112722061/1786c91e-a846-4650-bcb2-5fed39fa92a1) |\n| User Area                 | ![image](https://github.com/sergeiown/questionnaire/assets/112722061/48ad5fa2-e2ca-4abe-b5d8-7da89d7d73ac) | ![image](https://github.com/sergeiown/questionnaire/assets/112722061/3e348004-1e26-4c0c-ab84-21aadef31a4a) |\n| RWD Mobile                | ![image](https://github.com/sergeiown/questionnaire/assets/112722061/965f3499-f9e8-4166-9593-d8da5e7fa397) |         |\n\n---\n( ͡° ͜ʖ ͡°)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsergeiown%2Fquestionnaire","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsergeiown%2Fquestionnaire","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsergeiown%2Fquestionnaire/lists"}