Skip to content
    Back to all Bounties

    Earn 1,800 ($18.00)

    Time Remainingdue 2 years ago
    Open

    Building a Secure React Native Web Application with MongoDB Backend and API Key Management

    PeterCalvanelli
    PeterCalvanelli
    Posted 2 years ago

    Bounty Description

    Problem Description

    You are tasked with building a React Native web application that allows users to create accounts and log in to the application. You will be using a MongoDB database as the backend for storing user information such as username, password, and email address. The application should also allow users to manage their API keys. Upon signing up with the application, each user should receive an API key.

    The application will need to have a signup form where users can create an account by providing a username, password, and email address. The form will need to validate the input to ensure that the username is unique, the password meets certain strength requirements, and the email address is in a valid format. Upon successful signup, the application should generate an API key for the user and store it in the MongoDB database along with the user's account information.

    Once a user has created an account, they should be able to log in to the application by providing their username and password. The application will need to verify the entered credentials against the information stored in the MongoDB database and allow the user to log in if the information is correct. The application should also have a page where the user can view and manage their API key. This page should allow the user to view their current API key, regenerate a new API key, or delete their API key.

    If the user attempts to log in with invalid credentials, the application should display an error message. The application should also have a logout feature that allows the user to log out of their account and end their session.

    You will need to use React Native to build the web application and connect to the MongoDB database using a suitable driver or library. You will also need to implement security measures to protect user data and prevent unauthorized access to the database.

    Acceptance Criteria

    1. The application allows users to create an account by providing a unique username, a password that meets certain strength requirements, and a valid email address. Upon successful signup, the application generates an API key for the user and stores it in the MongoDB database along with the user's account information.

    2. The application allows users to log in by providing their username and password. If the entered credentials are correct, the user is logged in to their account.

    3. The application has a page where the user can view and manage their API key. This page should allow the user to view their current API key, regenerate a new API key, or delete their API key.

    4. If the user attempts to log in with invalid credentials, the application displays an error message.

    5. The application has a logout feature that allows the user to log out of their account and end their session.

    6. The application implements appropriate security measures to protect user data and prevent unauthorized access to the database.

    7. The application is built using React Native and connects to the MongoDB database using a suitable driver or library.

    8. The application is tested on multiple devices and browsers to ensure it is compatible and functions as expected.

    9. The application meets the design and usability standards established for the project.