Code Monkey home page Code Monkey logo

formslab's People

Contributors

a-lukasiewicz avatar bilalmirza74 avatar chrilleweb avatar codezuma avatar dependabot[bot] avatar devdaniloferrari avatar jenish-dhanani avatar jobayer12 avatar k-ryczko avatar luberski avatar mikeproduce avatar monu-simon avatar msheet avatar necolanch avatar niazmorshed2007 avatar okwasniewski avatar peterkwesiansah avatar phootako630 avatar pmatyjasik avatar realswikarrr avatar ryczko avatar samuels165 avatar shubhamku044 avatar sidvermas avatar souravghosh01 avatar suleymanbariseser avatar tsymonowicz avatar xdk78 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

formslab's Issues

Configure i18n and transfer all content to en.json

In the future, we will want to support several languages, and give users the ability to change them.

In the first step, we need to add and configure i18n, and transfer all texts to the en.json file.

Restrict the ability to send multiple replies from one device

In order to reduce spam, we need to block the ability to send responses to the same survey from one device.

When implementing, we should use localStorage. You should create an array in it, e.g. answeredSurveys and store all ids of surveys that user answered. When user is sending answer we should check if the surveys is in array and if it is block an action (eg. navigate to home page with toast β€˜you already answered in the survey’)

This solution will not guarantee sending several replies by the user (the user can always switch to Incognito mode or clear the browser's memory), but it will only limit this possibility, but because at the moment we do not require logging in to send replies, this is the only solution.

Handle firebase errors while authorization

Better UX will be to add hot-toast message instead of logging it in console.

Example:
While creating an account with email which is already in use we got only error log in console.

Fix removing account

Deleting accounts does not work properly for now.

If you go to settingsManager file in handleOnAccountDelete you will notice that user.delete() will not working when user is logged to account since long time. To fix this we need reauthorize user after confirming the deletion of the account. We need display correct authorization method in the modal and after that remove account.

To see settings and delete account option you need to add NEXT_PUBLIC_REMOVE_ACCOUNT=TRUE to your .env file.

Filtering surveys answers

Add the ability to filter responses:

  • displaying answers only with additional comment
  • displaying answers only with a specific emoticon

Fix emoji picker backdrop

Backdrop displayed when user is selecting emoji should be the same as when for example user is removing survey. It should also displaying and disappearing smoothly.

image
image

Customize emojis amount in survey

When creating a survey, we should give the option to edit the number of emoticons to choose from.
Minimum Quantity: 2
Maximum amount: 8
Example design during creation:
image

Logo as SVG

For now our logo is just a text with special font. This task is about creating the same logo using svg file and use it in all places. Also, remember about responsiveness.
image

Create CONTRIBUTING.md

We need to create an instruction for contributors describing the process of starting the project locally and creating contributions

Add input validation in create survey page

On survey creation page currently, when the user does not enter a title, the create button is blocked, but the user is not informed why.

After the user starts completing the input and leaves it empty or clicks the create input button, we should display a message, e.g. add a red border and text with information that the field is required.

If necessary, we can use an external library. It would be good to create a solution that will allow you to easily extend validation in the future, for example, when we will want to validate other fields.

Login does not work when the account is created using another service with the same email address

Steps to reproduce:

  1. Create an account using your Google or Github account
  2. Log out
  3. Log in using Google or Github (Choose a different method than when creating the account for the first time) - the created account on the site must have the same email address.

Currently, the application does not allow to log in and throws an error in the console.
If the account already exists, it should be linked to the existing account when logging in.

Option to create obligatory extra feedback

When creating a survey, the user should be able to select an option that will force the user to complete the "tell us more" field when answering:
image

Create page should use Toggle component from shared folder

Option to deactivate/activate survey

On the survey page, the user should be able to activate or deactivate the survey. A survey that is deactivated should not accept responses from users and inform that the survey is not active. Example desing:
image

That option should use Toggle component from shared folder.

Add pagination to answers page

There can be many answers to one survey. We don't need to display them all on one page. We should enable pagination and display e.g. 20 answers on each page.

At the moment, we only limit the number of displayed components on the page, not the number of answers downloaded from the database.

It would be nice if the pagination functionality was reusable.

Validation on answer page

For now on answer page user can see disabled send button when none of emoji are selected.
The button should not be disabled and when clicked it should display a message in the emoji box that the user must select one.

image

Add the ability to delete an account

We need to add the ability to delete an account by the user. After removing him, all polls created by him should also be deleted.

This option should be in the 'Setting' tab in the drop-down menu. If the bookmark has not been created in the meantime, it should be added as part of this task

image

Fix page view on mobile

Fix scrolling on pages with smaller height.
Remove github corner on device smaller than 300px

More stricted eslint and tsconfig

We need change eslint and tsconfig to reduce potential bugs in the future.
For this, the most important for us is to remove all @typescript-eslint rulses from eslint that are set to 'off', and set strict: true in tsconfig.

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.