You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As Vocdoni, we want to reuse the current voting process structure stored in the Blockchain but also store some new information in the database, after passing the corresponding checks/permissions/subscription level by the backend. In the database, we should store for each process, the extra-features enabled for that specific process. The proccess could have a list of new extra-features, like:
1 - Check if the process can be created by the user:
- If the organization is in a "free" plan:
- If the organization has less tokens than the needed, the organization must buy more tokens.
- If the organization has more tokens than the needed, use the tokens to create the process.
If the organization is in a "pro/premium" plan:
If the plan supports all the features, create the process.
If the process has more features than the plan, the organization needs to upgrade.
2 -Design the process table in the BBDD
3 - Store the process object in the BBDD with the news params.
Premium Features List
Customization and Personalization
personalization
Description: Customize the voting page with the organization's logo, colors, branding elements, and custom background images or themes. If present, the "personalization" should store the parameters selected by the user, like: "color: red", "logo: logoURL", "header: headerURL"...
Email Reminders
emailReminder
Description: Send automated email reminders to voters to encourage participation and remind them of voting deadlines. If "present, the emailReminder should store the parameters selected by the user, like: "remind: 1D/3D/1W".
SMS Notifications
smsNotification
Description: Send SMS notifications for voting reminders, updates, or important announcements.
Anonymous voting
anonymousVoting
Description: Enable anonymous voting in the voting page.
Custom Voting Instructions and Popups
customMessages
Description: Create custom voting instructions, confirmation messages, and popups to guide voters through the process. If present, the customMessages should store the parameters selected by the user, like: "votingInstructionsMsg: The custom message that the user wrote...", "confirmModalMsg: The text that will appear in the confirm modal", "afterVotingMsg: The custom message that will appear after the voting...", etc.
White-Label Voting Page
whiteLabel
Description: Remove any references to the voting platform's branding and present a fully white-labeled voting page.
Advanced Voter Authentication
advancedAuthentication
Description: Enable advanced authentication methods for voters, such as two-factor authentication (2FA) or biometric verification.
Custom URL for Voting Page
customURL
Description: Set a custom URL for the voting page (e.g., ago2025.vocdoni.app).
If present, the customURL should store the URL.
Post-Voting Redirect and Countdown
postVotingRedirect
Description: Set a custom redirect URL and countdown timer after a voter completes their vote. If present, the postVotingRedirect should store the redirect URL and the nº of seconds of the countdown.
Live Streaming
liveStreaming
Description: Display real-time streaming. If present, the liveStreaming should store the URL of the video to live stream.
Extended Support and Priority Service
extendedSupport
Description: Offers extended support hours and priority customer service for faster resolution of issues and queries.
Custom Email Templates
customEmailTemplates
Description: Create and use custom email templates for voter notifications, invitations, and reminders.
Support for Attachments
attachments
Description: Allow attachments (e.g., documents, PDFs) within ballots to provide additional context or information for voters. Allow to upload up to 3 links to docs.
Emergency Voting Pause
emergencyPause
Description: Allow admins to temporarily pause voting in emergencies or unforeseen circumstances.
Private Voting
privateVoting
Description: Allows to have private voting (only accessible with a password).
Daily updates on voting turnout
dailyTurnout
Description: Receive daily updates in your inbox with the current turnout.
Free text input
openComments
Description: Allow voters to add free text/comments in a text input box (private).
Options in Random Order
randomOptions
Description: Render the question options in a random order.
Welcome Page
welcomePage
Description: Adds a welcome page/landing page before the voting one.
Others: Quorum, Encrypted, etc.
And the list of features could increase in the future.
Then, in the DDBB, we must relate the process ID with the list of extra-features added, and in some cases, the frontend should be able to read those parameters to render extra information or change the look'n'feel of the voting page.
The backend must compare each feature name with the current organization subscription and check if is enabled in the current plan, then, in the plans it will be something similar to:
This configure what the ui-scaffold have to show on the frontend. Take special attention to unimplemented_census and unimplemented_voting_type, this are those to be shown on the view with a badge Pro.
This would be for showing/not showing by configuration in the ENV var. What we want to archive is to know if the current org plan includes the feature in the subscription plan in order to render a "PRO" (for instance) and change the behavior (allow directly to select it or upgrade the plan/pay extra tokens).
As Vocdoni, we want to reuse the current voting process structure stored in the Blockchain but also store some new information in the database, after passing the corresponding checks/permissions/subscription level by the backend. In the database, we should store for each process, the extra-features enabled for that specific process. The proccess could have a list of new extra-features, like:
1 - Check if the process can be created by the user:
- If the organization is in a "free" plan:
- If the organization has less tokens than the needed, the organization must buy more tokens.
- If the organization has more tokens than the needed, use the tokens to create the process.
2 -Design the process table in the BBDD
3 - Store the process object in the BBDD with the news params.
Premium Features List
Customization and Personalization
Email Reminders
SMS Notifications
Anonymous voting
Custom Voting Instructions and Popups
White-Label Voting Page
Advanced Voter Authentication
Custom URL for Voting Page
Post-Voting Redirect and Countdown
Live Streaming
Extended Support and Priority Service
Custom Email Templates
Support for Attachments
Emergency Voting Pause
Private Voting
Daily updates on voting turnout
Free text input
Options in Random Order
Others: Quorum, Encrypted, etc.
And the list of features could increase in the future.
Then, in the DDBB, we must relate the process ID with the list of extra-features added, and in some cases, the frontend should be able to read those parameters to render extra information or change the look'n'feel of the voting page.
Possible solution for the BBDD:
ProcessId:
0x02323....ab
Features:
The backend must compare each feature name with the current organization subscription and check if is enabled in the current plan, then, in the plans it will be something similar to:
If a feature is not in the subscription list, it can't be stored in the process list and should be ignored.
The text was updated successfully, but these errors were encountered: