Git Product home page Git Product logo

turkiye-relief-dao's Introduction

Turkiye Relief DAO

Getting Started

First, install the dependencies:

pnpm install

Then, run the development server:

pnpm dev

Open http://localhost:3000 with your browser to see the result.

You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.

This project uses next/font to automatically optimize and load Inter, a custom Google Font.

Code Style

Using the default Prettier settings: https://prettier.io/docs/en/options.html

Learn More

To learn more about Next.js, take a look at the following resources:

You can check out the Next.js GitHub repository - your feedback and contributions are welcome!

Deploy on Vercel

The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.

Check out our Next.js deployment documentation for more details.

turkiye-relief-dao's People

Contributors

cankarakoyun avatar daggerhashimoto avatar hantuzun avatar haticecs avatar kuzdogan avatar mhmtmutlu avatar nhestrompia avatar oytuncoban avatar rogerfavelron avatar selmanyalcin avatar teenabatra avatar yigitfindikli avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

turkiye-relief-dao's Issues

Add Share section

Display popular tweets for this cause and display a one-click-share tweet with the content we decide.

Add SOS Chain

SOS Chain should be added for helping that relief effort. However, it'll be tricky.

SInce we don't list its addresses, it should be another type.

I suggest adding "sos_chain" type.
It should have a text like "Donate through their Avalanche dapp" and link to their webpage using the linkName and linkUrl parameters.

The "Other" filter should enable/disable this option and this will be tricky. Needs to be carefully developed, tested, and reviewed.

The filters on the URL and filters have bugs

There're various glitchy use cases. Below is an example:

Screen.Recording.2023-02-14.at.01.19.39.mov

One solution I'd prefer is; when a url with query parameters is loaded, the url is cleared and the filters are saved in local storage (or the new alternatives). When refreshed, the filter state must persist.

Only when you click copy the filter, the filter query must be present.

Sorting organizations functionality

  1. The sort dropdown is commented out. Enable that to make sure it looks fine on screens as narrow as 375px (iPhone SE).
  2. Add 2 options: "Suggested" (default), "Popular"

Suggested: The order of the array, which is the current implementation.
Popular: Sorted by the popularity parameters.

Add sharable filters functionality

What about a button appears at the bottom of filters when filters are applied? A button that says:
"Copy URL for this filter"

Clicking that could copy a URL like the following:
https://turkiyereliefdao.com?cryptocurrencies=Polkadot

When such a URL is loaded, the query parameters must be deleted and the state better is persisted (#35) on page refreshes.

Another button next to it could say:
"Reset filter"

Advantage:

  • Relevant subsets of options could be shared with networks, resulting in better targeting and conversion.

Disadvantages:
*Harder to implement than most of the other issues i.e. opportunity cost.

[1] Need to create persistent state management. Even more work. Could be delegated to another issue. The disadvantage of this

Update the casuality statistics

Screen Shot 2023-02-10 at 15 29 04

3 of the 4 stats here (except the magnitude) need to be updated.
Please suggest:

  • A statistics
  • Its description with bold word(s) in the beginning.
  • Trusted resource link in English, strongly prefered without a paywall.

The experience on mobile views should be tailored towards filtering donation options

We've filters, great.

However, a user scrolling to that section, will unlikely click filter, if at all.

I think the experience on mobile views should be different.

  1. The app could prompt how the user wants to donate.
  2. Then it can list the options.

This way, the user would feel agency and already committed to donating at the time they click an option.

Addresses gets duplicated when toogles are interacted with

Some organizations have accounts with the same names such as "Tron" and "Tron" again. They do this for supporting multiple exchanges.

However, the state management mishandles these. It creates duplicates if you toogle cryptocurrencies.

Add expand (+) button to card headers next to the website button

Screen Shot 2023-02-10 at 15 17 37

The number of options in some of the organizations is close to 20.

We should design this experience, especially tailored towards mobile phones.

A few options:

  1. The "donation types" and "cryptocurrency networks" filters could be opt-in, instead of opt-out.
  2. Every organization could have up to 3 options marked as "featured", and the rest could be extended, or contracted.

We need design help on this issue.

Pixel perfect the footer

The footer doesn't have gray-400 and hover:gray-500 colors and the dune icon is a little bit larger than the others.

Sorting the Cryptocurrency addresses

We should sort the cryptocurrency addresses by their network. This way, we can display the addresses in a more organized way. New addresses must be ONLY appended to the options arrays to avoid conflicts and trust issues.

Remove focus rings from filter checkboxes

Here's the current look.

Screen Shot 2023-02-13 at 03 32 05

There's no use of the focus element, except accessibility. We do not support accessibility at the moment. I suggest we remove focus rings from these checkboxes.

Console's errors

Fix missing key prop errors.

1-)
image

2-)
image

Fix invalid DOM property

1-)
image

Global Prettier config and Husky needs

We need prettier configuration and Husky to perform "pnpm format". Using this convention will prevent formatting inconsistencies among the codebase and contributors.

Add explorer links

The addresses should have blue pills just like the sources. They should be named "Explorer" and link to dynamically created explorer URLs.

Move data to new files

Decouple the data from the components. Research the best practices for Next.js 13 file structure and data handling options, and TypeScript annotations.

Opening the filter panel causes a weird scroll behavior on mobile

Opening the filter panel has the following buggy scroll behavior:

Screen.Recording.2023-02-13.at.00.40.57.mov

The issues below are fixed with #68:

It's also missing feature parity with the desktop one:

  • The first category is not expanded by default.
  • When some organizations are filtered, the number indicator at the bottom is missing.

The last two issues better are resolved by reusing the code as a component. Contributors tend to omit to check the mobile view for them.

Hall of Fame section

There could be a leaderboard of selected verified on-chain donations.

This idea got 4 🔥 emojis:
IMAGE 2023-02-10 18:08:01

Pros:

  • Incentivizing big donations
  • Showing our gratitude

Cons:

  • Development opportunity cost
  • Distracting the attention of small donors from making donations

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.