Skip to content
    Back to all Bounties

    Earn 27,000 ($270.00)

    Time Remainingdue 2 years ago
    Canceled

    Adding to existing code - Implement Magic Link Authentication with Web3 Wallet Creation, Firebase DB, and Stripe Membership Payments

    walter-grace
    walter-grace
    Posted 2 years ago

    Bounty Description

    #Bounty Description:

    We're seeking an experienced TypeScript developer to enhance our chatbot application's user experience and security. This enhancement will involve implementing magic link authentication using the Magic SDK, which also generates a unique Web3 wallet for each user on either the Solana or Ethereum blockchain, integrating Stripe for membership payments, and establishing Firebase for user management. These improvements aim to simplify login procedures, generate unique user wallets for future feature integration, enable secure, efficient membership payment processes, and provide robust user management.

    #Problem Description:

    Our application, derived from the chatbot-ui GitHub repository https://github.com/mckaywrigley/chatbot-ui,
    currently lacks a magic link authentication system, a seamless membership payment system, and an organized user management system. We are inviting contributors to integrate these functionalities into our existing system. The magic link authentication process should leverage the Magic SDK to generate a unique Web3 wallet for each user, preferably on the Solana blockchain for its speed and low-cost transactions, but Ethereum can be used if more convenient. This wallet will be assigned to their user profile in Firebase for future use. The Stripe integration for membership payments will provide a two-tier flat rate membership system. Firebase will be used for user management and session control. There will also be 1 generation for free for the user. Then push them to pay tiers.

    #Acceptance Criteria:

    Successful implementation of a magic link authentication system using Magic SDK that also generates a unique Web3 wallet (Solana/Ethereum) for each user and assigns it to their user profile in Firebase.
    Integration of Firebase for user data management, associating each user with their respective Web3 wallet and membership status.
    Integration of Stripe for handling membership payments with two distinct pricing tiers: $6.99/month for 15 stories, and $15/month for unlimited stories.
    Clear, concise, and well-documented TypeScript code that adheres to best practices.
    Code includes tests to validate the functionality of the magic link authentication, Web3 wallet generation, Firebase user management, and Stripe payment system, demonstrating its stability and compatibility with the existing system.
    Completion of the bounty within a 1-week timeline.
    #Technical Details:

    The magic link authentication, Web3 wallet creation, Firebase user management, and Stripe integration should be implemented in TypeScript, ensuring compatibility with the existing chatbot UI system.
    The magic link authentication process should support an email service for sending the links and facilitate the generation of a unique Web3 wallet for each user using the Magic SDK.
    Firebase will be set up for user management and session control, associating each user's Magic identifier with their respective Web3 wallet and membership status.
    The Stripe integration should support two pricing tiers: $6.99/month for 15 stories, and $15/month for unlimited stories.
    Code should be well-documented and easy to maintain, with clear comments and a structured format.
    #Deliverables:

    A pull request to the chatbot-ui repository with the updated source code implementing magic link authentication, Web3 wallet generation, Firebase user management, and Stripe integration.
    Comprehensive documentation explaining the implementation, the libraries used (like Magic SDK for magic link and Web3 wallet generation, Firebase for user management), and steps for integrating the updated code into existing systems.
    Test results demonstrating the functionality, stability, and compatibility of the magic link authentication, Web3 wallet generation, Firebase user management, and Stripe payment system with the existing chatbot UI system.
    #Additional Information:

    Test versions of API keys for Stripe, Magic SDK, and Firebase will be provided upon commencement of the project for the implementation and testing phase.
    Please ensure to follow the repository's code style and conventions. Any significant deviations may cause delays in the review process.
    All pull requests will be reviewed and merged within 2 days of submission, provided they meet the acceptance criteria.
    By completing this bounty, you will make a significant contribution to our project's user experience, security, and commercial viability.

    Hope to hear from you!