MOBTIS Software Requirements Specification (SRS)

Table of Content

1. Introduction

1.1 Purpose

The purpose of this document is to outline the software requirements for the development of a mobile application designed to facilitate investments in different stages of goat farming and provide traceability of animals from farm to fork. This application would provide users with an online platform to invest in the breeding, fattening, and marketing (retail) of goats.

1.2 Scope

The application referred to as "MOBTIS" will be developed using [backend stack] for the backend and [database] for the database. It will offer the following key features:

  • Authentication: Verify that users are part of the system before granting access to the system.
  • User Roles: There are two user roles: customers(non-admin rights) and husbandmen(admin-rights)
  • Investment Features:
    • Breeding Investment: Users can invest in the breeding of goats, subscribing to this specific stage of the farming process.
    • Fattening Investment: Similar to breeding, users can invest in the fattening stage of goat farming.
    • ROI Withdrawal: After completing the investment cycle, users can withdraw their returns on investment.
  • Animal Traceability and Updates:
    • Traceability: The system provides traceability of animals, allowing users to track the progress and updates of their invested animals.
    • Status Updates: Users can receive ongoing updates on the status and progress of animals they've invested in, ensuring transparency.
  • User Profile Management: Users can create and update their profiles.
  • Marketing and Retail: Users can place orders for fresh meat or Balangu through the platform, specifying product type, quantity, and collection method.
  • Lifecycle Management: Managing the entire investment cycle, from subscription to withdrawal after the completion of the cycle.

1.3 Document Conventions

Bold text siginifies titles and key terms.
Monospace text is used for code snippets and technical references.
[Brackets] indicates optional information.

1.4 Project Scope

The MOBTIS project aims to develop an online investment platform dedicated to goat farming. This comprehensive platform would enable users to invest in breeding and fattening goats while providing traceability from farm to market. It includes user-friendly interfaces for account management, investment tracking, and meat product ordering. Security measures, compliance with regulations, and seamless communication interfaces are integral parts of the project, ensuring a secure and transparent investment experience for users.

2. System Description

2.1 Functional Requirements

2.1.1 Authentication

  • Users must create an account to have access to the system.
  • Users must authenticate with a valid email and password to have access to sytem features.

2.1.2 User Roles

  • The system supports two user roles: Admin(husbandmen) and User(customers).
  • Admins can upload animal, edit and delete livestock data.
  • Users can invest on the various investing plan.
  • Users can place order(retail) for livestock meat.
  • Users can only view realtime livestock data.

2.1.3 Dashboard/User Profile

  • Registered users with completed onboarding can view their dashboard upon login.

2.1.4 Breeding

  • Users can invest in the breeding section by providing necessary information and making payments.
  • Users with ongoing breeding subscriptions can check animal status by selecting the specific animal's tag.
  • Withdrawal of Return on Investment (ROI) is possible after the subscription cycle ends and completion of necessary withdrawal forms with bank account details.

2.1.5 Fattening

  • Users can invest in fattening by providing required details and making payments.
  • Similar to breeding, withdrawal of ROI is allowed after the subscription cycle ends and completion of necessary withdrawal forms with bank account details.

2.1.6 Marketing

  • Registered users can order fresh meat or Balangu by providing order details and making payments.

2.1.7 Management

  • App moderators(super-admin rights) can manage everything in the application
  • Primarily, email and app notifications are sent to the users to relay information and interact with users.

2.2 Non-Functional Requirements

2.2.1 Security

  • Users password should be encrypted and stored in the database.
  • Users transaction data should be confidential.

2.2.2 Performance

  • The system should operate efficiently even during peak usage times.
  • The system should be responsive and have a minimal downtime.
  • It should be capable of handling users requests concurrently.

2.2.3 Scalability

  • The system should be able to handle increased loads or user volumes without compromising performance to allow for expansion.

2.2.4 Usability

  • The system should be user-friendly, intuitive, and easy to navigate for users, providing clear instructions and guidance for each feature.

2.2.5 Reliability

  • The system should consistently perform its intended functions accurately, without failures or errors, ensuring the security and integrity of user data throughout

2.2.6 Maintainability

  • The sytem should have an easy way of maintaining and updating the system, including code readability, documentation, and modularity for efficient troubleshooting and future enhancements.

2.3 Constraints

  • The application must comply with legal and business policies and guidelines.

3. External Interface Requirements

3.1 User Interfaces

The mobile-based user interface for MOBTIS is designed with simplicity and user-friendliness in mind. It comprises:

  • Login and Registration Forms: Intuitive forms enabling easy access for users to create accounts or log in securely.
  • Dashboard for Livestock and Investment Data: A comprehensive dashboard displaying users' livestock information and investment data, providing clear insights into their assets and progress.
  • Livestock Data Upload (Admin Functionality): An upload feature for administrators to effortlessly input and manage livestock data, ensuring the system's accuracy and completeness.
  • Profile/Account Page: A personalized space for users to manage their accounts, update information, and maintain their profiles easily.

3.2 Software Interfaces

  1. APIs (Application Programming Interfaces):

    • Investment Modules Integration: Interface for investment functionalities (breeding, fattening) allowing communication between user interactions and backend systems managing investment processes.
    • Data Retrieval API: Interface enabling the retrieval of livestock and investment data for display on the user dashboard.
    • Admin Data Upload API: Facilitates the transfer of livestock data uploaded by administrators to the main database.
  2. Database Interfaces:

    • User Data Interface: Connects user account details (registration, login) to the user management system.
    • Investment Data Interface: Links the investment modules to the database, managing data related to subscriptions, status updates, and ROI.
    • Admin Livestock Data Interface: Connects the admin data upload functionality to the database, ensuring seamless data transfer.
  3. External Service Interfaces:

    • Payment Gateway Integration: Interface connecting the platform to external payment systems, enabling secure transactions for investments.
    • Notification Service Integration: Interface allowing the platform to communicate with external services for sending email/SMS notifications to users.
  4. User Interface (UI):

    • User Dashboard Interface: Connects the backend functionalities to the user interface, providing a smooth display of livestock and investment data.
    • Login and Registration Interface: Interfaces allowing user interactions with the login and registration forms.
  5. Middleware or Integration Platforms:

    • Middleware Integration: Interfaces linking middleware components facilitating seamless interactions between various software modules.
  6. Communication Interfaces:

    • Internal Communication Protocols: Facilitates communication between different modules within the system, ensuring data exchange and synchronization.

These software interfaces serve as the communication channels ensuring the effective functioning and interaction between the various software components and external services within the MOBTIS platform.

4. System Architecture

  1. Client-Side (Mobile Interface):

    • User Interface Components: UI elements for login, registration, dashboard, profile/account pages designed for mobile platforms.
    • Communication Protocols: Interfaces ensuring smooth interactions between the mobile app and server-side components.
  2. Server-Side:

    • Application Layer: Hosts the core functionalities including user management, investment modules, data processing, and interaction with external services.
    • API Endpoints: Manages various API endpoints facilitating communication between the client-side and server-side components.
    • Middleware or Business Logic: Contains the business logic governing investment processes, data validation, and security measures.
    • Database Layer: Stores user data, investment details, livestock information, ensuring data integrity and retrieval for display on the UI.
  3. External Services Integration:

    • Payment Gateways: Integrates with external payment systems to facilitate secure financial transactions for investments.
    • Notification Services: Interfaces with external services for sending notifications (email/SMS) to users based on investment updates or account activities.
  4. Data Flow:

    • User Input: Information entered by users through the mobile interface (login, registration, investment choices).
    • Server-Side Processing: Backend processing of user requests, handling investment operations, data retrieval, and storage.
    • Database Interaction: Storage and retrieval of user data, livestock details, and investment records.
    • Feedback to Users: Updates and notifications sent back to users based on their investment status or account activities.
  5. Scalability and Security:

    • Scalability Measures: Design considerations for scalability, allowing the system to handle increased user loads or data volumes.
    • Security Protocols: Implementation of security measures to protect user data, financial transactions, and system integrity.
  6. Testing and Deployment:

    • Testing Environments: Development, staging, and production environments for testing and deploying system updates and enhancements.
    • Deployment Strategies: Methods for deploying updates to ensure minimal disruptions to user access and system functionality.

5. Data Model

5.1 Data Entities

  1. User Entity:

    • Attributes: User ID, Full Name, Email, Phone Number, Password (encrypted), Account Status, Verification Status.
    • Relationships: One-to-Many relationship with Investments (One user can have multiple investments).
  2. Investment Entity:

    • Attributes: Investment ID, User ID (Foreign Key), Investment Type (Breeding/Fattening), Investment Amount, Subscription Date, Cycle Status (Ongoing/Completed), ROI Details.
    • Relationships: Belongs to a User (Many investments linked to one user).
  3. Livestock Entity:

    • Attributes: Animal ID, Tag/Identifier, Breed, Stage (Breeding/Fattening), Status (Ongoing/Completed), Updates/History.
    • Relationships: Connected to Investments (Many livestock linked to an investment).
  4. Transaction Entity:

    • Attributes: Transaction ID, User ID, Investment ID, Transaction Type (Deposit/Withdrawal), Amount, Date.
    • Relationships: Linked to Users and Investments.
  5. Notification Entity:

    • Attributes: Notification ID, User ID, Notification Type, Content, Timestamp, Status (Read/Unread).
    • Relationships: Connected to Users.
  6. Metadata Entities (Optional):

    • Logs: Log ID, User ID, Action, Timestamp.
    • Settings: User ID, Preferences, Customizations.

5.2 Relationships and Cardinalities:

  • Users can have multiple investments (One-to-Many relationship).
  • Investments are linked to users and multiple livestock entities (One-to-Many relationships).
  • Transactions and Notifications are associated with users (One-to-Many relationships).

5.3 Data Integrity and Constraints:

  • Ensure data integrity through proper foreign key relationships and constraints.
  • Implement indexing for efficient data retrieval.
  • Implement encryption for sensitive data (e.g., passwords, financial information).

6. System Testing

A comprehensive testing plan will be developed to ensure the functionality, security, and performance of the system. This will include unit testing, integration testing, and user acceptance testing.

7. Other Requirements

  • Legal and Regulatory Requirements
  • Privacy Requirements
  • Reporting Requirements

8. Conclusion

In conclusion, this SRS outlines the core requirements and scope of MOBTIS. The platform aims to revolutionize goat farming investments by providing a secure, transparent, and user-friendly system. With an emphasis on traceability and user empowerment, MOBTIS envisions reshaping agricultural investments. Moving forward, collaborative efforts between the team, stakeholders, and users will drive the platform's evolution. For further engagement or inquiries, stakeholders and potential users are encouraged to reach out via the provided channels.