Chimoney / chimoney-community-projects

Repo for Community Contributors
http://api.chimoney.io/
MIT License
116 stars 148 forks source link

feat: Build Public UPA (Universal Profile Address) Page #332

Open uchibeke opened 10 months ago

uchibeke commented 10 months ago

This is mostly a frontend task because we noticed we had mostly backend tasks.

Description

We are introducing a new feature, the Universal Profile Address (UPA) page, which serves as a personal hub for users to share their contact information, social profiles, and receive payments. This issue is open to contributions and is worth 2 Hacktoberfest Chimoney Issue points.

Features

Technical Requirements

Acceptance Criteria:

Contribution Guidelines

Sample/Mock Data format for the user Profile is:

const user = {
      "meta": {
        "name": "John Doe",
        "email": "john.doe@example.com",
        // ... other existing user meta data
      },
      "upa": {
        "profile": {
          "professionalTitle": "Software Developer",
          "bio": "Passionate developer with a love for open source.",
          "portfolioLink": "https://portfolio.example.com",
          "socialLinks": {
            "linkedin": "https://linkedin.com/in/johndoe",
            "github": "https://github.com/johndoe",
            "twitter": "https://twitter.com/johndoe",
            // ... other social platforms
          },
          "verificationBadge": true,
          "activityFeed": [
            {
              "type": "travel",
              "description": "Traveled to San Francisco for a tech conference.",
              "date": "2023-10-20"
            },
            // ... other activities
          ]
        },
        "payment": {
          "paymentPointer": "$wallet.example.com/johndoe",
          "bankDetails": {
            "iban": "GB33BUKB20201555555555",
            "bic": "BUKBGB22",
            "bankName": "Bank UK",
            "accountName": "John Doe",
            "accountNumber": "12345678",
            "sortCode": "20-20-15"
          },
          "mobileMoney": {
            "provider": "M-Pesa",
            "accountNumber": "0712345678"
          },
          "crypto": {
            "bitcoin": "1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa",
            "ethereum": "0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B",
            // ... other cryptocurrencies
          }
        }
      }
    }

The standard format above can be used by Data Providers to power UPA pages.

For inspiration, see sample profile pages:

Looking forward to your contributions!

Screenshots

No response

Ready to Work?

vinfinity7 commented 10 months ago

assign me this @uchibeke

uchibeke commented 10 months ago

assign me this @uchibeke

Done

Danimoz commented 10 months ago

I want to work on this @uchibeke

uchibeke commented 10 months ago

I want to work on this @uchibeke

Done

Gudnessuche commented 10 months ago

This is cool

Dejare commented 10 months ago

hello ser ✋🏾

Babsmutini commented 10 months ago

Can i also work on this, i have a nice idea on how it should be implemented

uchibeke commented 10 months ago

Can i also work on this, i have a nice idea on how it should be implemented

Yes please. Go for it. Make it modular and the profile data portable because the Frontend should be able to plug into 3rd party user profile/payment info providers and potentially also hosted by users

Happy to provide feedback on your approach, if needed

uchibeke commented 10 months ago

@Danimoz @Babsmutini @Dejare and @vinfinity7

how’s this going?

Babsmutini commented 10 months ago

still on it, I had some bit of unclarity regarding what it meant to do. Can I relate it to how Linktree is? whereby a user has a profile with all their profile accounts in one place

uchibeke commented 10 months ago

still on it, I had some bit of unclarity regarding what it meant to do. Can I relate it to how Linktree is? whereby a user has a profile with all their profile accounts in one place

Yes. Like the examples I shared. What is the purpose of this page?

Also, read through each of the lines in the issue. There’s additional insight about what this is and it’s more than just a linktree page since it’s open source, data can be pulled from multiple providers (you don’t have to worry about this) and had payment and KYC built in.

Danimoz commented 10 months ago

Still on it too

Danimoz commented 10 months ago

Please can I use tailwind instead of MUI

uchibeke commented 10 months ago

Please can I use tailwind instead of MUI

Yes. You can use tailwind. Good choice!