Git Product home page Git Product logo

app's People

Contributors

dependabot[bot] avatar devonyarbrough avatar dmaretskyi avatar eswarasai avatar hiddentao avatar jefflau avatar makoto avatar molecula451 avatar noblocknoparty-devs avatar skywinder avatar think-in-universe avatar timhc22 avatar tomafrench avatar trevorjtclarke avatar xitronix 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

Watchers

 avatar  avatar  avatar  avatar  avatar

app's Issues

Changing accounts during event signup + new user allows attending without user account

Hi Kickback team! I was trying out your app for our DappDevs event and here's what happened.

  1. Pull up page of event, click to attend
  2. Click to sign transaction (acct#1 0xF454...2Bd3)
  3. Fill out new user info
  4. Click to register for event (acct#1)
  5. Insufficient funds! (Oops, wrong account!)
  6. Switch accounts (acct#2 0x4ea...458C)
  7. Sign transaction (acct#2) - now attending event... with no username or email stored for acct#2

Now I'm signed up for the event under acct#2, but the account info was stored for account#1. Acct#2 has no username, and cannot update the user info. I can successfully sign in under acct#1. I can sign in and create another account under#2. Initially my new username was still not showing on the event attendance page, even after a refresh that updates the username/icon in the upper right. Given a short time, it's now showing up.

Overall, not surprised that jacking the flow caused inconsistent state, and I was able to get things sorted out (except needing to create a second account with a different username.) Nice work!

Thoughts on addressing: allow user accounts to have multiple addresses, or confirm the event staking address matches the user account address of a valid account.

Some screencaps:
image

image

image

image

image

image

Cannot load events

This only happens to this scenario.

  • Connect to the network you are accessing to on Metamask
  • Signout
  • Refresh page.

This will not happen if Metamask was connecting to the wrong network before signout.

We do need test environment

Currently authereum.kickback.events point to mainnet so we cannot test freely. Can we at least have an endpoint which connects to kovan?

Viewing events & signing in blocked by error

When I go to a direct event link, or try to view events from the kickback home page, i get this red banner:
"Error: Network error: Response not successful: Received status code 400"
Click sign in and after ~3 seconds of showing the sign in form, it reverts to the same banner.
Screen Shot 2019-08-15 at 9 54 47 AM

I am signed into main net.

Style Create event page

Create event page uses the PartyForm component, which is shared between the Create and Admin page and should have its styles enhanced if any styles from the Admin page need adjusting

Add generic QR code reader

Prize Bounty

100 DAI

Category

Frontend (react/js/graphql)

Challenge Description

Currently, there is an QR code reader to scan user's Ethereum address on our admin panel.

Screenshot 2020-01-08 at 10 22 22

Pressing "Scan QR code" will pop up QR code reader if underlying web3 provider supports it.
It reads Ethereum Address from the QR code and place the address into search input so that it filters out the participant.
However this feature is not widely used as not many web3 provider supports it.

The challenge is to replace the implementation of
qrCodeResolvers with more generic qr code reader so that it works across any browsers.

Submission Requirements

Before submitting, make sure that QR code works on the following environment.

Desktop

  • Chrome
  • Brave
  • Opera

Mobile

  • Status.im
  • Trust Wallet
  • Metamask Mobile
  • Coinbase wallet
  • Opera

For any other env where QR code does not work, disable "Scan QR code" button by greying out the button with click disabled (rather than hiding) so that users know that the utility exists.

Submission Deadline

23rd Jan 2020

Judging Criteria

Makes sure that your code follows our contribution style guide

Winner Announcement Date

As soon as approved by @makoto or @jefflau


Donation feature [Frontend only]

Prize Bounty

200 DAI

Challenge Description

We are considering to add donation feature. .

Please implement the following UI

Step 1

  • Add "Add a tip to the organiser" button.

Screenshot 2019-12-01 at 21 05 32

Step 2

  • If the button is clicked at step 1, show this page.
  • Display 3 options as a radio button, "All", "Extra", "and "Coffee".
  • "Extra" is payout - commitment.
  • "Coffee" should be either 3 DAI or $3 equivalent of ETH (you can fetch price info from etherscan which we do at admin page).
  • Display how much to tip and how much to withdraw.

Screenshot 2019-12-01 at 21 05 39

Step 3

  • If "Withdraw all" at step 1 or "Go back" at step2 are pressed, show the current withdraw page instead.

Screenshot 2019-12-01 at 21 05 25

Submission Requirements

  • Currently smart contract does not support yet, so you can just call WITHDRAW_PAYOUT mutation discarding the actual donation address and amount (There is smart contract bounty if you are interested as well)

  • [UPDATED ON 4th Dec]Currently smart contract does not support yet, so create sendAndWithdrawPayout(_, { addresses, values }) resolver which copies the implementation of withdrawPayout

  • works for both eth and dai

Submission Deadline

TBD

Judging Criteria

  • Clean code

Winner Announcement Date

TBD


Feature Request: I want to be able to add a +1 when I RSVP

Feature Request

As someone RSVPing to an event, I would like to be able to add a +1, which indicates that I will bring another person with me to the event.

Current Behaviour

In order to sign up more than one person, I would need to create another account on Kickback, and also to create another Ethereum account, transfer some ETH / DAI to that account (which costs gas), and then to submit another set of Approve and RSVP transactions, which is kinda long-winded and costly.

Or, I would need to encourage the other person to sign up for themselves, which might be a good way to raise awareness of Ethereum / Kickback, to educate them on the systems available, and to get them a wallet and ETH, but also this represents a barrier to entry to the eco-system, and risks making it feel exclusive and unfriendly.

Proposed Solution

I would like to be able to add a +1 to my RSVP, so that I can easily bring people who are not already in the Ethereum ecosystem to the party - so that they can more easily engage with the lovely humans of Ethereum ("Ethereans"), and learn about this wonderful world.

This would be an inclusive way to grow the ecosystem, and engage new humans in our friendly ecosystem.

I would love feedback on this.

Cannnot install authereum package

Description.

Currently Travis does not seem to allow external party to run CI test. So I created a branch out of the fork but it shows the following error

<--- JS stacktrace --->
==== JS stack trace =========================================
Security context: 0x317e29625879 <JSObject>
    1: /* anonymous */ [/home/travis/build/wearekickback/app/node_modules/webpack-sources/node_modules/source-map/lib/source-map-generator.js:~48] [pc=0x35d25b59b8dd](this=0x10d20670c209 <JSGlobal Object>,mapping=0x3fca9fb23171 <Object map = 0x831becfbb49>)
    2: arguments adaptor frame: 3->1
    3: forEach(this=0x174e64ff39b1 <JSArray[593886]>)
    4: SourceMapConsumer_eachMapping [/home/travi...
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory

When I tried to run thee task which CI is running, I am failing to install authereum.

$yarn deploy:pr
yarn run v1.15.2
$ yarn build:release:kovan && scripts/deployTravisBuildToSurge.sh
$ yarn setup --kovan && yarn build
$ scripts/setup.js --kovan
{
  "DEPLOYER_CONTRACT_ADDRESS": "0xB7465Eef8d3334E1f78Af0382201bd079E3d926B",
  "API_URL": "https://kovan.api.kickback.events",
  "NUM_CONFIRMATIONS": 1,
  "ENV": "kovan",
  "DAI_CONTRACT_ADDRESS": "0x1246Ddaf0885A87D9F3DdF0f08d8B6cc57b68c5f",
  "GIT_COMMIT": "ac82ceb13be9c24f8d226149c29084bbc7aae537",
  "LOGROCKET_TOKEN": "",
  "ROLLBAR_TOKEN": "",
  "BLOCKNATIVE_DAPPID": ""
}
$ react-scripts build
Browserslist: caniuse-lite is outdated. Please run next command `yarn upgrade caniuse-lite browserslist`
Creating an optimized production build...
Browserslist: caniuse-lite is outdated. Please run next command `yarn upgrade caniuse-lite browserslist`
Failed to compile.

Add to calendar

Add "Add to calendar" feature at event page.

  • Add "Add to calendar" below the start time.
  • Pop up a modal to import into calendar (Google calendar is must, and other calendars are nice to have).
  • Calendar has to recognize timezone difference.

Design.

Links

Screenshot 2019-09-27 at 09 45 06

Popups

Similar to how EventBrite does but you can use your own judgement to make it look better.

Screenshot 2019-09-27 at 09 59 35

References.

You can use off the shelf react component like following

https://www.npmjs.com/package/react-add-to-calendar

Style new admin page

Admin page is currently largely unstyled.

  • Needs styling for the inputs
  • Add admin interface
  • reduced width for the party form so it doesn't span the entire page
  • Needs a button on the single event page to link to the admin page
  • Smart contract state inputs/buttons need some explanation
  • Smart contract state input/buttons need to be positioned correctly

Auto check-in

Prize Bounty

1st : $500
2nd: $200
3nd: $100

Challenge Description

Currently each admin has to manually check in each attendee which have multiple drawbacks.

    1. Labor intensive making Kickback unsuitable for large event where check-in is not strict.
    1. Prone to check-in error by organisers.
    1. The decision is centralised and could lead the event organiser acts maliciously.

Can you create a solution to allow attendees into self check-in via GPS, IOT device, “Bump” style peer 2 peer check in, or integrating with other protocols such as https://foam.space/ , http://poap.xyz/ , https://xyo.network/?

Submission Requirements

  • Due to the fact that our server side is not open sourced, we accept application which lacks server side validation and checks as long as you can describe how to implement.
  • We don't expect your solution to solve all of our problems. Please describe clearly which problems (1~3 or any other problems we haven't thought about) your submission is solving.
  • Ideal submissions should have something working on website where backend is pointing to our Kovan endpoint.
  • In case your change needs modification on server side or on smart contract, which is too difficult to deploy (or your solution uses some sort of hardware), then Youtube video to demonstrate is allowed.

Submission Deadline

23rd Jan 2020

Judging Criteria

  • We prefer realistic approach which can be used in production system with minimum change in smart contract or on server side.
  • Good documentation describing how to productionize is as good as the demo itself.
  • We don't expect your submission to be able to integrate as is. If you write down detailed description of what else is missing and how much work is needed, it may lead to commissioning extra work.

Winner Announcement Date

31st Jan 2020


[Marketing] Write an Kickback explainer blog post without the word "decentralisation"

Prize Bounty

  • 100 DAI (multiple entries and one winner takes all)

Challenge Description

Currently Kickback is often used for crypto related events and hackathons. Some event organisers prefer to use us purely because Kickback is a blockchain based application.

However, we want to start appealing to meetup organisers outside of crypto/blockchain ecosystem for mass adoption.

The last blog post we wrote is almost 16 months old under old brand name and therefore we would like to have a new blog entry which we can point to any event organisers considering using Kickback.

Please write a blog post targeted for non crypto / blockchain audience why they can benefit by using our service.

Submission Requirements

  • Please write a medium article and paste the link into the comment of the github issues.
  • Minimum length = 500 words
  • Do not use the word "Decentralisation" unless you have very good reason that decentralisation helps meetup organisers.
  • Once written , put the medium link into the comment of this issue

Submission Deadline

23rd Jan 2020

Judging Criteria

  • The less crypto jargons, the better.
  • Extra points If you write an article based on your own experience of attending Kickback powered events.

Winner Announcement Date

31st Jan 2020


Feature Request: I want to be able to use Kickback without giving my real name or email address

Current Situation

Currently, in order to sign up for Kickback events, a user must create a username, provide their real name, and provide an email address.

Proposal

I want to be able to RSVP solely based on my ETH address, without needing to provide my personal information.

Considerations

I understand that this adds complexity in terms of verifying people when they arrive, if they haven't provided their real name.

Burner Wallet Integration R&D

Challenge: Burner Wallet Integration R&D

Bounty

Up to 500 DAI. Many submissions, multiple winners.

  • Winner : 300 DAI
  • Runner up: 200 DAI

[NOTE] If the winning submission turned out to be feasible, we may commission further work to productionize it.

Background.

Kickback is a popular choice to manage free events. User commit Eth/DAI to attend events. If they don't their commitment gets distributed to the one who attended.

Burner wallet is a popular choice to bring "Token economy" to events. User receives xDAI in their mobile browser and can claim drinks and swags at event without waiting for long confirmation time or needing ETH to pay gas price.

These two are the perfect combo for any events and there will be a great synergy if they can seemlessly integrate but here are the problems.

The current workflow.

If you want to use Kickback and Burner wallet as is, here is the flow.

  • 1 User RSVP on Kickback (Mainnet) with DAI.
  • 2 User comes to the event.
  • 3 Event organisers check people in using our web admin page.
  • 4 Event organisers give paper wallet (with private key) loaded with some xDAI
  • 5 User load the xDai into Burner wallet.
  • 6 User buy drinks at food vendors using Burner wallet
  • 7 At the end of the event, the Event organiser finalise the total turn up at Kickback.
  • 8 User withdraw DAI from Kickback.

The challenge

Simplify step 4&5 by somehow linking Kickback wallet address and Burner wallet address.

Here are some ideas Kickback and Burner team have brainstormed in the past but you can be creative to have your own solution.

Idea 1: Generate Burner address derived from existing wallet address

Burner wallet has a way to generate contract based wallet using contract wallet plugin so it can generate new burner wallet address which is unique to the signer.
The advantage is that there is no need to store the information which links burner and kickback wallet addreses. The downside is that something like Metamask chrome plugin does not work on mobile browser hence we have to restrict the usage of Metamask plugin.

Idea 2: Scan QR code

User has Kickback page open on his laptop, click "Scan QR code" will display a QR code, then user scan the code using his/her mobile phone which opens up burner wallet page preloaded with some xDAI. We couldn't figure out how wwe can preload xDAI with the link, so not sure if this is feasible.

Idea 3: Signed message

Utilize signed messages and contracts to let them attach their burner account to a contract that's already linked to their kickback account.

Idea 4: Use injected wallet as a signer.

Idea from Tom

Currently, burner modules have InjectedSigner.
As long as we discourage users not to use desktop Metamask plugin but use others (eg: Opera mobile, Metamask mobile, Status, Trust Wallet, etc), then it can use the same address.

If this is the case, please also investigate if this can work not only injected wallet but with any other wallets such as Torus, Authereum, Wallet Connect, etc as we are planning to integrate with onboard.js

Submission Requirement

  • URL of the Working prototype (recommended to fork Kickback frontend and build on top of it. You can use https://surge.sh/ to deploy on your own).
  • Video walkthrough explaining the entire flow.
  • Documentation detailing the user flow and pros/cons of your solution.

Judging criteria.

  • Wallet Inclusive (if it can work against any wallets, the better).
  • The entire flow requires less manual work for both organizers and users.
  • If we receive multiple submissions that implements similar ideas, then the more polished submission with the least extra work to make it production-ready will be chosen.

References

Implement comment sections on events (with 3box?)

If we compare Kickback to its competitor Meetup, its very difficult to contact an event organiser before an event. This is useful to be able to ask questions beforehand, etc. Otherwise it can feel a little impersonal and possibly creating a barrier to entry.

One possible decentralised solution would be to use 3box.

Chat system with on chain access control list

Challenge: Chat system with on-chain access control list

Bounty

  • Winner : 5 ETH
  • Runnner up : 1 ETH

Background.

Though smart contract enable on-chain way to control the flow of money or governance, the discussion is often made in discord, xoom, hangout, and now lots of experiments in virtual space such as CryptoVoxels, Decentraland, etc. We would like a way to enforce on-chain logic into off-chain communication tools.

The challenge

Create a chat system SDK which enforces on-chain logics as well as logs the member activity ( so that admin can use it as a proof of attending an online event).

You can use any existing chat system with bot moderation framework or create own chat system using existing SDK such as 3box thread

Requirements.

Though we intend to use on Kickback, we would like this project to be generic to be used in other systems. The SDK should make contract specific function names configurable so that it can easily be reused.

1. Kickback

  • For each event contract (eg: https://kickback.events/event/0x0d73ecf5493c7d955f3f001d0be2565ae65ed6b4), generate unique chat channel (either user click a button to generate the channel, or dynamically create one).
  • Anyone can view the chat.
  • Only the user who did RSVP (AbstractConference.isRegistered(addr) returns true) can write. (link to source code)
  • There is an API call (or tool) to get a list of ETH addresses who either joined the chat or made some comments.
  • [Bonus1] : - Only the event admin (GroupAdmin.isAdmin(addr) returns true) can be joined as admin. (link to source code)
  • [Bonus2] It Would be nice if it can specify the option to make the chat open to public read or only closed to people who did RSVP.

2. Moloch DAO

Pretty much the same logic as above, but use Moloch.member(addr) instead of AbstractConference.isRegistered (link to source)

Submissions

  • Working prototype.
  • Video walkthrough explaining the flow
  • Detailed documentation of how to integrate (if you fork Kickback frontend and integrate as a demo, that would be awesome!)

Reference

Create account page gives graphql error

Reproduction:

  1. Mac OS 10.14 Brave/Metamask installed (but not used)
  2. Click login and select authereum
  3. Select account (mine seems to automatically know my authereum account now)
  4. Create page for account pop up
  5. GraphQL login error and account not created

Screenshot 2019-12-09 at 14 48 24

Create event page nvaigation & new events not shown

First issue: I cannot find a way to create an event in the GUI for the app - I must navigate manually to /create

Second, once I do get an event created:
image
I then don't see it.

I generated a transaction (on kovan but the event page does not display on http://localhost:3000/event/0x71646dC2f4960f74554D3eF98301582522046793

Also not on https://kovan.kickback.events/event/0x71646dC2f4960f74554D3eF98301582522046793

Improve onboarding flow for first time user to crypto

Current RSVP flow

Screenshot 2020-03-20 at 11 48 15

  • Step1: Error message prompting to connect Kickback to wallet.
  • Step2: A modal pop up to pick a wallet.
  • Step3: A modal to put user detail.
  • Step4: Warning indicating that users don't have enough balance to RSVP
  • Step5: User now see two step buttons to allow kickback contract to spend (Token.approve) and RSVP

Feedback of current sign in/ RSVP issues.

  • Lots of red warning looks scary
  • Pot and Payout section is the most exciting aspect of the system but it is not so obvious.
  • Don't know which wallet to choose

Proposal for the new flow.

Low fidelity wireframe (clickable, scroll down on the modal to see more buttons).

https://mystifying-joliot-5254b7.netlify.com/

Step1: RSVP button

Step2: Connect to a wallet

  • Pick Injected wallet or Recommended embedded wallet (Fortmatic/Authereum/Torus, etc)
  • Advanced option to pick others.

Step3: Create an account on Kickback

(scroll down to click "Create account")

Step4: Add funds

-- Check if user has gas to pay
-- Check if user has token to RSVP
-- If ENS reverse record is set, suggest to send fund to ENS name

Step5: RSVP

  • Token.approve
  • RSVP
  • If Authereum or Unilogin, it could batch into one?

Getting an error... can't RSVP

Tried to sign up for an event and had to create a username and all that with metamask... then the login works but i can't rsvp for this event or another event.

screen shot 2018-10-28 at 11 27 54 pm

I'm on a 2015 macbook pro, pretty much up to date, using chrome.

Thanks for making such a beautiful and fun app :-D

Visualise/gamify multiple event participations

Prize Bounty

Amount TBD

Challenge Description

During Devcon5, we hosted dozens of events and 100s of people attended various events but there aren’t good ways to visualise/gamify to encourage participants to attend more events. Also our user activity page is very primitive.

Can you create some sort of dashboard to visualise participation activities or create an additional mechanism?

Submission Requirements

Successful submission may utilise our two data endpoint.

The Graph Subgraph

Server side GraphQL API

You may add Youtube videos to supplement your submission but you have to have working prototype hosted somewhere online.

You can either fork our frontend and add features, or it can be standalone app which interacts with our dataset.

Submission Deadline

TBD

Judging Criteria

Something fun and engaging.

Winner Announcement Date

TBD


Split admin page into separate page

Current page is confusing for admin users and also does not have full functionality. Best approach would be to add the table view as the main admin view and then have all admin controls including clear as well as mark attended

A Kickback "license"

I recently spoke with @makoto and he we discussed the idea of a Kickback License.
The main goal is for Kickback to fund itself using crypto by charging event organizers when they want to deploy their own kickback contract.

Current flow

As detailed on this page, to deploy Kickback contracts, event organizers go to https://kickback.events/create then the Kickback team uses a backend processor which listens to blockchain. When the event contract is created, the Kickback team joins the contract address with the event data in their backend.

Adding Unlock

Unlock is a protocol for memberships. It lets creators like Kickback deploy their own memberships to grant access to some features to paid members only. Users can then easily purchase access to a given membership by sending a payment to the locks directly. In return their receive a NFT (ERC721) which they can use to gain access to custom features.

The Kickback team wants to provide paid benefits for people willing to deploy their own kickback contract. In order to do that, the kickback will deploy one or more locks (one for each level of benefits).
The front-end form will then ensure that the user owns a key to any of the kickback locks in order to deploy their kickback contract. If the user does not have a key, they are offered the ability to purchase a key to any of the lock (either thru crypto or credit card) thru Unlock.

Later the Kickback team can also verify ownership of a key on their backend service in order to guarantee that only the paying members have deployed a kickback contract.

Locks

The Kickback team will own several locks, with different levels of memberships. Each of these locks should have non-transferable keys, as well as having a short expiration date to prevent someone from deploying too many kickback contracts with a single key.

Front-end integration

Unlock provides a JS snippet to integrate on the frontend: https://docs.unlock-protocol.com/ which should be used to ensure that only members can complete the form.

doesn't work on Safari

Browser/OS: MacOSX: 10.14.6, Safari: Version 13.0.3

Had mixed results where the pop up did not come up. When it did come up it seemed to load forever:

Screenshot 2019-12-09 at 14 45 33

Support any ERC20 tokens

Prize Bounty

200 DAI

Challenge Description

Currently Kickback smart contract supports any ERC20 yet we only support DAI at frontend because we hardcode lots of code.

Please refactor our code as well as extending admin page so that users can add any ERC20 tokens.

Submission Requirements

  • On our admin page, user can either chose DAI, ETH, or any ERC 20 tokens where users can copy & paste any ERX20 token address.
  • It should handle different denomination (for testing purpose use 0, 8, and 18 decimal tokens which you can mint here )
  • On our event listing page (/events), make sure that correct symbol and value are displayed.
  • On our event page (/event/0x...), make sure that correct symbol and value are displayed on pot amount, RSVP amount, and the amount each participant won/withdrawn/lost.

Submission Deadline

23rd Jan 2020

Judging Criteria

Winner Announcement Date

31st Jan 2020


Add event url specific meta tag

Prize Bounty

200 DAI

Challenge Description

One of the most requested feature is to be able to add event specific social card.

We already have a generic one here, but we want to show event specific card.

You can get the basic information through our graphql https://live.api.kickback.events/graphql

query{
  party(address:"0xe784ed60b5b3b3f721d97c7f0c2abc236175cc2e"){
    id
    name
    description
    headerImg
    address
  }
}

The key problem of this challenge is that our entire frontend stack is built based on create-react-app but to be able to show on twitter, chat channel, etc, it has to be render by server side (We tried https://www.npmjs.com/package/react-meta-tags before but it did not seem to work).

One possible workaround is to create a very simple node.js server to wrap our frontend and call our backend api directly but we don't know exactly what would be the best way, so feel free to suggest better way if you know.

Submission requirement.

  • We use zeit now for deployment so your stack has to fits into the flow.
  • Has to work for both mainnet and devs (kovan). Doesn't necessarily have to work PR specific deployment.
  • Has to work as our CI build (Travis) so that it is automatically deployed when the PR is merged into dev (which automatically deploy into kovan.kickback.events) and master (which automatically deploy into kickback.events)

Submission Deadline

23rd Jan 2020

Judging Criteria

As soon as approved by @makoto or @jefflau

NOTE: We actually don't know if this is actually technically feasible or not. Please discuss with our team at Discord with your proposed solution before you jump into implementing one.

Winner Announcement Date

31st Jan 2020


Integrate with BlockNative onboard.js

Prize Bounty

The first submission which satisfies all the submission requirement wins.

400 DAI

Challenge Description

Currently, we use the old version of BlockNative assist.js (bnc-assist) to onboard users who have accessed with no wallet to show the warning message. At that time, it did not support mobile wallets hence we created a wrapper file which detects mobile it was falling back to our own warning message.

Now that onboardjs has mobile onboarding as well as "select wallet", replace the file with onboard js and show proper "select wallet" window.

Submission Requirements

Sign in

Currently, BlockNative popup happens at 2 places.

  • When user click "Sign in" button.
  • When user clock "RSVP" button.

Make sure that onboard popup events get emitted correctly detecting

  • Show mobile onboarding when accessed via mobile
  • Show desktop onboarding when accessed via desktop
  • Show "the wrong network" if the wallet is connected to the wrong network.

The design will be similar to how UniSwap does (though they don't use onboard.js) with a bit more explanation about the difference of each wallet.

Screenshot 2020-01-24 at 12 00 18

Please configure to be able to select Web3/Metamask, WalletConnect, Torus, Authereum, and Fortmatic.

[NOTE]: I got feedback from Blocknative that labeling by category (eg: "I have my own wallet", "I am new to this") is not supported yet, so it's not necessary.

RSVP

  • It should read balance of the connected wallet and show appropriate message (eg: you only have x DAI in your wallet).
  • It should allow RSVP via connected wallet

Tracking.

Currently we have track() function which tracks the result of getstate() function. Please keep that if possible.

Link to wallet page.

  • At the user profile page, it should link to wallet URL

Screenshot 2020-01-24 at 11 02 48

  • If the user does not have enough commitment in the balance, add a warning with a link to the wallet.

Screenshot 2020-01-24 at 11 12 08

Sign out.

  • Create a "Sign out" page which shows the "Login" button again. If the user clicks Login and picks different wallets, it should allow the person to log in with a different wallet.
  • When not logged in, connect to Infura as a read-only mode (connectToCloudNode function).

Submission Deadline

Until closed

Judging Criteria

Before submitting PR make sure that you tested on all supported wallets.

As a minimum, we expect that it works on any EOA(Externally Owned Account) wallets, such as the following.

  • External web3 providers ( metamask / coinbase / status.im / opera / operaTouch)
  • WalletConnect
  • Embedable wallets (squarelink/ portis/ fortmatic / torus / authereum)

Winner Announcement Date

As soon as the PR is approved by @makoto or @jefflau

(NOTE: If there are anything unclear, please either add into a comment or ask questions at our Discord channel).

Organize footer information in mobile version

Checking the mobile version, I noticed that some footer information is too compressed and misaligned, so you'll need to check the alignment of the information next to the social buttons.

Privacy preserving event hosting experience

Prize Bounty

Amount TBD

Challenge Description

At Kickback, we currently store some privacy information (user name and email address) so that event organisers can use information to notify participants and well as to identify people at check-in

Even though these are necessary features to make event dapp usable, the leakage of this information would cause inconvenience and distress to the end users who have been affected).

This problems is nothing new in the web2.0 world, but web3.0 users face additional challenges as their financial information is tied into the Ethereum address.

The two most realistic solutions have some drawbacks.

  • Just use fake name and throw away email: inconvenience to the users
  • Just use QR code to check in: May not be feasible for events where users do have to prove real identity for security clearance purpose)

In this challenge, we welcome any practical solutions which overcome our problems. Some ideas for the solution would be the followings.

  • Ways for event organisers to notify participants without storing email information in our database (Please bear in mind that some of the notification timing may not be invoked by the direct interaction of event organisers, such as reminder emails).
  • Easy ways to encrypt user data in our storage which only admins can decrypt.
  • Easy ways to integrate with mixers (such as Tornado ) so that users don't exposer their financial information even when their identities are breached.

Submission Requirements

  • Even though you are more than welcome to fork our front end and add solution to it, it is not mandatory.
  • Working demo on the hosted website is desirable but video submissions are allowed.
  • There must be some sort of code unless there are justifiable reasons not to have it.
  • The submission must clearly specify which problem you are trying to solve.

Submission Deadline

TBD

Judging Criteria

  • Easy to use for end users.
  • The solution is realistic to implement in near future (if you include estimate of what else needed to actually implement, we can seek further funding to commission the work).

Winner Announcement Date

TBD


[Call for UX ideas] Pitch perfect on-boarding experience

Prize Bounty

50 DAI

Challenge Description

Kickback is one of the few Dapps which people are "forced to use" to attend the event they want to go (as contrary to Defi or Games which no one forces you to). This sometimes cause confusion and stress to participants who are completely new to cryptos and blockchains.

In this challenge, we would like you to diagnose our current UX, articulate problems, and suggest better solutions.

Submission Requirements

  • No coding required
  • Visual aid or new mockup UI would help but not mandatory

Submission Deadline

TBD

Judging Criteria

  • The solution is realistic to implement in future (it's easy to say "Add fiat on-boarding using xxx" but I would like to know which on-boarding solution is the best comparing various existing solutions).
  • Easy to understand

Winner Announcement Date

TBD


Add end to end tests

  • Create a party as admin, rsvp and then finalise
  • Existing party of 2 as admin, mark 1 attended, finalise
  • Existing party of 2 as admin, mark both attended, finalise
  • Existing party of 2 as user, RSVP
  • Existing party of 2 as non-user, sign up, RSVP

Some questions about running dapp locally.

I cant reach thoes pages any more.

https://dev.kickback.events 

https://github.com/wearekickback/docs/blob/master/RunningEverythingLocally.md

update
open website successfully but cant connect eth network.
image

[Education] Write an medium article of how to interact with Dapp using Torndado using Kickback as an example

Prize Bounty

  • 50 DAI

Challenge Description

Even though Kickback does not show ETH address of the registered users, it is relatively easy to tie the username/twitter handle to the eth address as all the transaction data is in the public chain. This is very worrying for security concerned people. To solve the problem, some people actually uses Torndao to hide the information of where the fund for the commitment came from but Tornado is not widely used yet.

To help educating the safe use of Dapps, please write a blog post detailing the step by step tutorial of how to setup Tornado, sending the fund to the ETH account you use to RSVP on our event.

Submission Requirements

  • Write a medium blog post
  • Once written , put the medium link into the comment of this issue

Submission Deadline

23rd Jan

Judging Criteria

I have never used Tornado so I will actually use your article to try it out so you must be willing to answer any questions while I am following through the guide and update anything missing / unclear accordingly.

Winner Announcement Date

31st Jan 2020


Create page doesn't handle a rejected transaction signature gracefully

Currently if I try to make an event and click the "create event" button then the button moves to the "sending transaction" state and I get a metamask popup. If I then decide that I don't want to sign that transaction and reject it then the "create event" button doesn't return to its original state, preventing me from clicking it again.

This requires a refresh to clear which in turn clears out the inputted form data. Ideally the button would listen for the callback from a transaction being rejected and become available for interaction again.

Fix inaccurate warning on Approve button

Copying this from #263

Description

Currently when a user is using a web3 enabled browser but hasn't given metamask access to kickback.events the Approve button shows the below error message.

A complaint about insufficient balance is obviously not ideal as the user may have the required balance, leading to confusion.

Submission requirements

A check should be placed on the Approve button which in the case of the user not being logged in, displays a button with the text "Log in to RSVP" in its place. This button should be functionally identical to the "Sign in" button on the header except for styling.

[Call for Marketing ideas] Make EthDenver side events fun and engaging using Kickback and OrochiDAO

Prize Bounty

50 DAI (We are calling more top ups from various other orgs such as MarketingDAO :-P )

Challenge Description

When it comes to organising events, event organisers often struggle to find sponsors to cover venues, drinks, catering, and so on.

To tackle the problem, I have been experimenting with lots of small ideas from event donation, NFT token, to forming event focused DAO, aka OrochiDAO.

Towards EthDenver, we are planning to rebump OrochiDAO and trying to do something interesting (such as hosting whisky tasting events in Osaka or sponsoring burner wallet powered after party of EthWaterloo).

Can you come up with some interesting ideas which we can do during EthDenver #buidlweek?

Submission Requirements

  • No coding required
  • Any form of submission is allowed
  • If it involves cost (such as building some dapps or making some swags), please specify how much it would cost and how long it takes to preepareee

Submission Deadline

TBD

Judging Criteria

  • Realistic and actionable
  • Extra brownie points if your solution can somehow integrate with Kickback (extra reasons for events to use Kickback besides preventing no shows) such as airdropping something to only people who attended events on Kickback.
  • If the idea is reusable beyond EthDenver, that would be awesome, too.

Winner Announcement Date

TBD


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.