Earn 2,250 ($22.50)
Create an endpoint to nurture a specific workflow for firestore - 1st bounty
Bounty Description
Task Description:
Title: Implement Endpoint for Automated Account Creation
Objective:
Develop and enable an API endpoint to create accounts for our customer's clients in bulk or individually. This endpoint will streamline the account creation process while maintaining security and compliance with our authentication and database requirements, utilizing Firebase for Firestore and Authentication.
Key Features and Workflow:
1. Endpoint URL:
https://rpc.serv.someendpoint.com/create-referral
2. Functionality:
• Accept an array of 1 or more client profiles as input.
• Automatically create an account for each client in our database/platform, using basic information provided in the request.
• Use Firebase Firestore as the database to store user details.
• Leverage Firebase Authentication for secure account management and email verification.
3. Initial Account Setup:
• A temporary password will be assigned for each account during creation via Firebase Authentication.
• Users will be required to update their password upon their first login for enhanced security.
4. Webhook Notifications:
• Preparer Webhook:
A webhook will be triggered to notify the individual who initiated the API call. This webhook will provide confirmation of account creation and guidance on notifying their clients to validate their accounts.
• Customer clients Webhook:
A webhook will be triggered for each client, containing:
• A message indicating their preparer has created an account for them.
• Instructions for validating their email address and completing the setup process.
• Webhooks will include structured JSON payloads with relevant information, such as user ID, email, and status.
5. Authentication Details:
• Firebase Authentication will be used to:
• Create a unique account for each client using their email address.
• Generate and store a temporary password.
• Trigger email verification using Firebase’s built-in email verification system.
• Account activation will require clients to validate their email address via the verification link sent by Firebase.
• Firebase Authentication rules will enforce security policies, such as password strength and expiration for temporary passwords.
6. Database Integration:
Firebase Firestore will store the following data in the “users” collection:
• createdTime (timestamp): The time the account was created.
• dwollaCustomerId (string): A unique identifier for the client
• email (string): Client's email address.
• preparerEmail (string): Preparer's email address.
• terms (boolean): Confirmation of terms acceptance.
• title (string): User’s title (e.g., Mr., Ms., etc.).
7. Security Measures:
• Email validation is mandatory to activate the account.
• Temporary passwords must be updated during the first login.
• Firebase Authentication ensures data is securely managed with industry-standard encryption and compliance measures.
Acceptance Criteria:
• The endpoint should successfully create accounts for all clients in the input array and register them in Firebase Authentication.
• Notifications are sent to both the preparer and clients as described.
• Accounts are stored accurately in Firestore’s “users” collection following the provided schema.
• Clients are required to validate their email and update their password before accessing their accounts.
• Firebase Authentication is used for secure account management.
Deliverables:
• Will share only read / edit access for firebase
• Fully functional endpoint integrated with backend using Firebase Authentication and Firestore.
• Documentation including API payload structure, examples, and response codes.
• Email templates for preparer and taxpayer notifications.
• Firebase configuration and usage guidelines to ensure secure and efficient integration.
Payment:
Will pay $250 for full endpoint, $25 at start and $225 at the end. The payment will ultimately be made if the endpoint works as described with second milestone bounty.