Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EPIC - SaaS Backend MVP v1 #192

Open
26 of 39 tasks
jpaulet opened this issue Jul 23, 2024 · 0 comments
Open
26 of 39 tasks

EPIC - SaaS Backend MVP v1 #192

jpaulet opened this issue Jul 23, 2024 · 0 comments
Labels

Comments

@jpaulet
Copy link
Member

jpaulet commented Jul 23, 2024

The SaaS Backend should allow to:

Admin Registration and Authentication

Admin Registration (CRUD)

  • Develop API endpoint for admin registration (email, password, full name, org_id).
  • Create admin object schema and store in the database. Admins can administrate X orgs/suborgs.
  • Implement email validation service integration.
  • Set up email sending service

Admin Login

  • Develop API endpoint for user login.
  • Set up session/token management.

Email Verification

  • Develop API endpoint for email verification.
  • Update user status in the database upon verification.

Organization Management

Create Organization

  • Develop API endpoint for organization creation (name, description, type, size, email, url, social, logo, timezone, color, short url, parent_org_id, created_at, active, owner_id).
  • Create organization object schema and store in the database.
  • Manage the related account PK into the DB, in order that all admins can act in behalf of the org

Manage Organization Data

  • Develop API endpoint for fetching organization details.
  • Develop API endpoint for updating organization details.
  • Fetch team members of an organization

Sub-Organization Management

  • Develop API endpoints for creating, updating, and deleting sub-organizations.
  • Check if the plans allows to create orgs and prevent to create more than the fixed number of orgs
  • Create sub-organization object schema and store in the database.
  • Set the admin to the new sub-org

Token Management

Extend our API allowing to create all the TX that needs tokens with the backend and a faucetPackage

  • Create Process
  • Play/Pause/Stop/Cancel
  • Change account details

Adapt the SDK with the needed changes

Voting Process Creation

  • Control New Voting Process (backend) #227
    • Develop API endpoint to handle voting process creation and store details in the database and blockchain.
    • Check if all the conditions are meet to create the process (isAdmin, max_census_size, active plan, etc.). If so, allow any admin to create the voting process without having to purchase tokens (token manager).
    • Allow adding extra-features/data into the voting process, like: custom messages, mail reminder, test voting process, custom color, quorum, results visualization type, template, url redirect, free-text input/feedback, etc.

Subscription Management

  • Subscription Plan Selection
    • Investigate if we can use Stripe for this part and integrate into the backend or if we need to develop certain parts of the subscription management.
    • Define the database structure for storing the needed plans (max_census_size, specific features and limits)
    • Develop API for subscription plan selection and management.
    • Upgrade/Downgrade Subscription
    • Implement API for subscription changes.
    • Subscription Renewal and Expiration
    • Develop API for subscription renewal and expiration management.

V1:

Password Recovery

  • Develop API endpoint for password recovery requests.
  • Implement email service to send password recovery links.
  • Develop API endpoint to handle password reset.

Invite Admins

  • Develop API endpoint for inviting additional admins (by email).
  • Implement email service to send invitations.
  • Handle invitation acceptance, set the password and update the database.
@jpaulet jpaulet changed the title EPIC - SaaS Backend EPIC - SaaS Backend MVP v1 Jul 23, 2024
@jpaulet jpaulet added the epic label Nov 26, 2024
@jpaulet jpaulet pinned this issue Nov 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant