RentInvesto
Introduction

RentInvesto Documentation

Welcome to the documentation for RentInvesto, a React Native mobile application designed for investment and crowdfunding based on blockchain technology. This document outlines the functional and non-functional requirements, user roles, collaboration guidelines, and more.

Roles / Actors

Three different user roles have been identified in the application based on user experience (UX): Investor, Admin (Administrator), and Project Owner. Each of these roles has unique permissions and responsibilities, allowing for effective management and interaction within the application.

RoleDescription
InvestorA user of the application who is looking for investment opportunities and engages in funding projects. Investors have access to the project list, can view detailed information about each project, make investments, and monitor their investment portfolios through a dashboard. They also have the option to withdraw profits and participate in affiliate programs. Their key tasks include making informed investment decisions based on available data and analysis.
AdminAn individual or team managing the entire platform. Administrators have the broadest range of permissions, allowing them to configure the application, manage users, projects, financial transactions, and monitor system performance. The key role of the admin is to ensure the smooth operation of the application and respond to user needs and issues.
Project OwnerAn individual or organization that owns investment projects and seeks funding from investors through the application. Project Owners are responsible for creating and managing project listings and communicating with investors.

Features

  • Investment Pathway: The investment process includes steps for contract signing and payments using crypto and the ZEN gateway.
  • Reward Calculation: A mechanism for calculating rewards for investors from the profits generated by the projects they have invested in.
  • Investor Authentication: A robust multi-factor authentication system ensuring secure login and access to the investor's account.
  • Project Details: Detailed information about each investment project, including goals, progress, and potential returns.
  • Investor Registration: A secure and streamlined registration process using the investor's phone number, enabling quick identity verification.
  • Compliance: Features ensuring the application adheres to legal and regulatory standards in the investment industry.
  • Project List: A list of available investment opportunities, featuring ongoing projects.
  • Investor Profile: Comprehensive profile management where investors can view and update their personal and investment information.
  • Investment Contracts: A digital contract management system for secure and transparent documentation of investment agreements.
  • Investment Dashboard: An interactive dashboard providing investors with up-to-date information on their investments, performance metrics, and trends.
  • Investor KYC: A thorough KYC/AML verification process to meet regulatory requirements and prevent fraud. Utilizes Sumsub for verification.
  • Affiliate Program: A program designed to reward users for referring new investors, enhancing community growth and engagement.
  • Project Management: Tools for administrators to create, update, and manage investment projects within the application.
  • Application Configuration: Advanced configuration options for administrators to customize application features and functionalities according to business needs.
  • Token Buyback: A feature allowing investors to sell their tokens back to the platform under predefined conditions.
  • Profit Withdrawal: An efficient system enabling investors to withdraw their profits, offering the option to withdraw USD to a bank account or USDT to a crypto wallet.
  • Application Settings: User settings customization to enhance the application experience, including notification preferences and security options.
  • Knowledge Base: A comprehensive resource center providing educational materials on investing, platform features, and best practices.
  • Admin Authentication: A secure authentication process for administrators to access backend systems and manage platform operations.
  • Customer Support: Accessible and responsive customer support to assist investors with inquiries and issues.

Non-Functional Requirements

ElementDetails
Frontend frameworkReact Native
Backend frameworkNodeJS
Admin Panel Frontend frameworkNextJS
Programming languageTypeScript
DatabasePostgreSQL
Supported platformsiOS / iPadOS ≥ 15, Android ≥ 12
Infrastructure providerMicrosoft
  1. The application must be designed for high performance and scalability to handle a growing number of users and transactions without negatively impacting response times.
  2. The backend based on NodeJS should efficiently manage database queries to PostgreSQL, ensuring fast data processing.
  3. The application must ensure the encryption of sensitive data, stored in PostgreSQL and transmitted between client and server.
  4. The application must be protected against common attacks, such as Injection, Cross-Site Scripting (XSS), Cross-Site Request Forgery (CSRF), etc. (OWASP Top 10).
  5. The mobile application should be compatible with iOS/iPadOS ≥ 15 and Android ≥ 12 systems, ensuring smooth operation on a wide range of devices.
  6. The mobile application should support various devices and screen resolutions.
  7. The application must be available 24/7, with minimal downtime, using reliable infrastructure from Google Cloud Platform.
  8. The application must implement appropriate backup and recovery procedures to minimize the risk of data loss.

Design

PlatformLink
DesktopN/A
MobileView design (opens in a new tab)

Integrations

APILink
DigiShares APIDigiShares API (opens in a new tab)