Coder Social home page Coder Social logo

tetrisiq / poddle Goto Github PK

View Code? Open in Web Editor NEW
16.0 16.0 1.0 2.91 MB

decentralized doodle alternative

Home Page: https://poddle-latest.onrender.com

License: MIT License

HTML 0.24% JavaScript 2.76% Svelte 88.04% CSS 0.04% TypeScript 8.78% Dockerfile 0.13%
dapp dapps gundb svelte

poddle's Introduction

Hi ๐Ÿ‘‹! My name is Alex, and I'm a Software engineer from Germany

stats graph languages graph

linux logo typescript logo svelte logo java logo spring logo docker logo googlecloud logo terraform logo postgresql logo sqlite logo


poddle's People

Contributors

dependabot[bot] avatar npiyush97 avatar renovate[bot] avatar tetrisiq avatar

Stargazers

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

Watchers

 avatar  avatar

Forkers

npiyush97

poddle's Issues

Possible race-condition

Describe the bug
I think there is a possible race-condition, when multiple persons trying to write data (answer the poll). Information about some Participants can be overwritten.

To Reproduce
Hard to reproduce, I'm not sure if this is a valid point.

Additional context
The way the app writes data to the network is not the best. It's better if we have update methods for every attribute. This means that we cannot encrypt the hole PollDTO Object, so we could encrypt only the values of (for example: participants) and map them as a key value map, with the name of the Participant.
In this way, we can update one Participant without overriding the hole object.

This is a much better implementation

Poll count enhancement

Please describe your feature
Every client gets a unique ID, and write his count the gun network. In this way, the client can see how many polls he has created. And we can see how many clients (people) created a poll.

Additional context
Also, the method should only be called on the first created. And not on every update.

Poll count

I would like to have a counter how many polls have been created in total.
This counter must not be accurate.
A simple number pushed to the network should do the job.

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Detected dependencies

docker-compose
docker-compose.yml
dockerfile
Dockerfile
  • node 21-alpine
github-actions
.github/workflows/CI.yml
  • actions/checkout v4
  • actions/setup-node v4
  • ubuntu 22.04
.github/workflows/docker-image.yml
  • actions/checkout v4
  • ubuntu 22.04
npm
package.json
  • express ^4.18.2
  • gun ^0.2020.1239
  • svelte-local-storage-store ^0.6.0
  • svelte-overlay ^1.4.1
  • @beyonk/svelte-datepicker ^13.0.3
  • @playwright/test ^1.37.1
  • @sveltejs/adapter-node ^1.3.1
  • @sveltejs/kit ^1.24.0
  • @types/express ^4.17.17
  • autoprefixer ^10.4.15
  • dayjs ^1.11.9
  • postcss ^8.4.29
  • prettier ^3.0.0
  • prettier-plugin-svelte ^3.0.0
  • svelte ^4.2.0
  • svelte-check ^3.5.1
  • tailwindcss ^3.3.2
  • tslib ^2.6.2
  • tui-calendar ^1.15.3
  • typescript ^5.2.2
  • unique-username-generator ^1.2.0
  • uuid ^9.0.0

  • Check this box to trigger a request for Renovate to run again on this repository

Change Option order

Please describe your feature
As a user, I want to change the order of my options during the creation process.

Week selection

During the creation of a Poll, I want to select time slots in a calendar and use these time slots as options.

Add Comment should update the poll

Describe the bug
If I add a comment, I need to update the poll via Update Poll button.

Expected behavior
If I add a comment, the poll (with the comment) should be updated automatically

PWA

Add PWA support

My Polls

As a user, I want to have a list with all my polls. I don't want to register a new user, this information can be stored in my browser.
But the option to create a user and sync it, is nice to have.

I want to see the polls I've created and the polls I'm invited.

Restyle forms in dark mode

Describe the bug
In dark mode, the input fields in the forms are not pretty.

To Reproduce
Steps to reproduce the behavior:

  1. Create a new Poll
  2. On every Page during the creation process
  3. Also on the main poll page

Expected behavior
The pages should look a little better ๐Ÿ˜…

Creator can update polls

Please describe your feature
As a creator of a poll, I want to edit the poll after creation.
Including:

  • Title
  • Location
  • Notes
  • Options

What are your criteria for this feature
Only the creator should be able to edit this.

Additional context
The Poll should be signed and validated. So only the creator can update it with valid verification.

Private Answers

Is your feature request related to a problem? Please describe.
Currently, everyone can see everyone's answer. An option to disable this would be nice.

Describe the solution you'd like
The choose options object can be encrypted with the public key from the creator. In this way, only the creator can see the choose options from the participants.

Additional context
This should not be the default.

FCFS No error on this Option

For the option First come, first Serve the selection is broken if you pick the same option as another user did.

There is no error message and you cannot select another option.

Option counter

Describe the bug
The Options counter doesn't work.

Expected behavior
When creating or viewing a Poll. The amount of all positive answers over all participants should be counted.

Screenshots
image

Additional context
If needed be, should be counted separately and should display next to the "normal" count

First come, first served

Please describe your feature
The first one who pick an option take it. No other can pick this option. This can be combined with Vote Limit.

What are your criteria for this feature
The validation happens before the poll gets written to the database

Direct plug-ins

Please describe your feature
Create Polls from your favorite collaboration tool (Slack or Element.io for example)

What are your criteria for this feature

  • ???

Additional context
If you have requirements or ideas of how this should work, feel free to comment below.

DTO Versioning

It should be possible to have different versions of the Poll DTO.
The version should be a part of the gun Object.

Result
The result is that we can handle DTO changes without breaking existing polls.

Feature overview on mobile

Describe the bug
The footer overlaps the features.

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'features' on mobile browser

Screenshots
20220212_093311.jpg

Additional context
Add any other context about the problem here.

Light mode / Dark mode doesn't get saved

Describe the bug
The light mode and dark mode switch resets on every page reload.

Expected behavior
If I choose dark mode and refresh the page. The Page should have dark mode enabled.

Additional context
This is not implemented for now.

The switch can be replaced with a better working one.

Pen Icon on dark mode

Describe the bug
The pen icon, on the poll view, is always visible on dark mode.

To Reproduce
View a Poll in Dark mode.

Expected behavior
The Pen icon should only be visible for your user

Screenshots
image

Desktop (please complete the following information):

  • OS: Linux
  • Browser: Vivaldi

Additional context
Should be only a CSS class with dark: annotation

Settings page

In the settings area, should be an option to switch the theme and to choose the relays where I want to connect to.

Delete participant

As a user, I want to delete a participant.

Maybe it's the best if only the creator can delete a participant. But this should be discussed.

Remove option

Please describe your feature
As a user, I want to remove options during the creation process.

Release Messages on the front page

Please describe your feature
All Users should see new important messages (like API Changes, new cool feature releases, breaking changes, ...) in a banner on the front page. The banner can be the same style as the review Hint banner.

What are your criteria for this feature
The messages should have a TTL and should store in the network (with gun). The messages should be encrypted with Public/Private key mechanics. The Public key must be hard-coded in JS.

Additional context
A small script for creating new Messages is necessary.

Auto Update frontend in relay server

When a Docker installation method become popular #50. It would be nice if the frontend can be updated automatically.
Of course, this should be configurable.

Share Button

After creating a poll, there should be a good visible share option.

When viewing a poll, these share options should also be visible, but not so big as after creating it.

User Area

Please describe your feature
In the header should be a user icon, with a popover where I can find MyPolls #8, a settings page #57 and the possibility to login/register a user account

  • MyPolls
  • Settings
  • Login/Register
  • Update Relay on gun.tetrisiq.de (needed for #57)

Basic Calendar Integration

Please describe your feature
Sync Polls into your Calendar and see on which options you have time. I'm not sure how this could work with the decentralized network. It's an Idea how the result looks.

What are your criteria for this feature

  • ???

Additional context
If you have requirements or ideas of how this should work, feel free to comment below.

Feedback Form

Please describe your feature
Evaluate a feedback form with Netlify form detection. For those how have no GitHub account.

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.