Skip to main content

1000 Fans MVP Technical Requirements

Overview​

This document outlines the Minimum Viable Product (MVP) features for the 1000 Fans platform, covering both web and iOS implementations. The MVP focuses on core functionality that enables artists to connect with their true fans through subscriptions and exclusive content.


Open Questions​

  • Should we create 2 separate web sites?
    • 1000fans.com (for fans)
    • artist.1000fans.com (for artists)
  • Should we create 2 separate iOS apps
    • 1 for fans
    • 1 for artists

1. User Authentication and Profiles​

  • Unified Login System: Implement a single sign-on system where users can register and log in.

    • Every user is a Fan. That comes with being a user.
    • A user can add 1 (or more) artist profiles that they manage.
      • William Clark Green may want a WCG Profile and also a Panhandlers profile, for example.
      • An artist may want a public "persona" and also a private "persona". We should allow everyone to create one "private persona".
        • Private Persona
          • Artist profile
          • Limited to 10 followers
          • $0 subscription price.
          • Great use-case of private persona is for an artist to share work in progress with family, band members, managers, closest friends.
  • Profile Management:

    • Fans / Users: Allow fans to manage personal information
      • subscription preferences,
      • name
      • email
      • zip code
    • Artist Profile: Enable artists to customize their profiles,
      • Band Name
      • Subscription Price
      • upload content

2. Core Features for MVP​

  • Content Sharing: Artists should be able to upload and manage content.
  • Subscription Management:
    • Fans can subscribe to artists.
    • Artists have control over their subscription pricing.
  • Payment Processing: Integrate a secure payment gateway to handle transactions, ensuring seamless payment flows and fair revenue distribution. Payment will only take place on the Web Site.

3. Database Design​

  • Entities and Relationships:
    • Users: Store user details with attributes.
    • Profiles: Separate tables artist profiles, linked to the Users table.
    • Content: Table to manage content uploads, associated with the respective artist.
    • Subscriptions: Track fan subscriptions to artists, including payment history.
  • Database Schema Considerations:
    • Design the schema to efficiently handle relationships between users, content.
    • Ensure scalability to accommodate a growing number of users and content uploads.

4. Technology Stack​

  • Frontend: NextJS for the website and API endpoints, Swift for the app
  • Database: Postgres SQL will be used for the database
  • Payment Integration: Incorporate payment processors such as Stripe for handling subscriptions and transactions.

5. Security and Compliance​

  • Data Protection: Implement encryption for sensitive data, both in transit and at rest, to safeguard user information.
  • Authentication: Employ secure authentication mechanisms, potentially integrating OAuth for third-party login options.
  • Compliance: Ensure adherence to relevant data protection regulations, such as GDPR or CCPA, depending on the target user base.