OpenSaaS
OpenSaaS is an open-source SaaS Platform & Directory. It is a collection of open-source SaaS products that can be easily extended and composed. It is a great way to discover new open-source SaaS products and to learn about the latest technologies.
SaaS
Software-as-a-Service (SaaS) is a software distribution model in which software is licensed on a subscription basis and is centrally hosted. It is sometimes referred to as "on-demand software".
We have modeled the core abstract SaaS in GraphDL (opens in a new tab) here:
SaaS:
plans: [Plan]
visitors: [Visitors->visits]
registrations: [Visitor->registrations]
logins: [User->logsIn]
users: [User->uses]
onboardings: [User->onboards]
activations: [User->activates]
subscriptions: [User->subscribes]
payments: [Customer->payments]
upgrades: [Customer->upgrades]
retention: [Customer->retains]
expansion: [Customer->expands]
refererrals: [Customer->refers]
churn: [Customer->cancels]
reactivations: [Customer->reactivates]
apiKeys: [User->apiKeys]
requests: [Request->SaaS]
errors: [Error->SaaS]
Plan
Plan:
name: string
description: string
price: currency
term: annual | monthly
features: [string | Feature]
Visitor
Visitor:
_type: Person
visits: [SaaS->visits]
registers: [SaaS->registrations]
ip: string
isp: string
city: string
region: string
country: string
continent: string
browser: string
ja3hash: string
fingerprint: string
Prospect
Prospect:
_type: Visitor
name: string
email: string
phone: string
company: string | Company
title: string
contacts: SaaS
User
User:
_type: Prospect
plan: SaaS.plans
logsIn: [SaaS->logins]
uses: [SaaS->users]
onboards: SaaS.onboardings
activates: SaaS.activations
subscribes: SaaS.subscriptions
apiKeys: [SaaS->apiKeys]
requests: [Request->User]
errors: [Error->User]
Customer
Customer:
_type: User
pays: [SaaS->payments]
upgrades: [SaaS->upgrades]
retains: [SaaS->retention]
refers: [SaaS->referrals]
cancels: [SaaS->churn]
reactivates: [SaaS->reactivations]
Visit
Visit:
_subject: Visitor
_action: visits
_object: Site
Contact
Contact:
_subject: Prospect
_action: contacts
_object: SaaS
communications: [Email | Call | Chat | Meeting | Event | Webinar | Social | Other]
Registration
Registration:
_subject: Visitor
_action: registers
_object: SaaS
email: EmailSequence
Using
Using:
_subject: User
_action: uses
_reverse: users
_object: SaaS
email: EmailSequence
Onboarding
Onboarding:
_subject: User
_action: onboards
_object: SaaS
emails: EmailSequence
Activation
Activation:
_subject: User
_action: activates
_object: SaaS
emails: EmailSequence
Subscription
Subscription:
_subject: User
_action: subscribes
_object: SaaS
plan: SaaS.plans
emails: EmailSequence
Cancellation
Cancellation:
_subject: Customer
_action: cancels
_inverse: retains
_object: SaaS
API Key
APIKey:
_subject: User
_action: apiKeys
_object: SaaS
prefix: string
hash: string
Email Sequence
EmailSequence:
_subject: SaaS
_action: emails
_object: Prospect | User | Customer
emails: [EmailTemplate]
timing: [duration]
Email Template
EmailTemplate:
subject: string
body: markdown | richtext | html