✨ Create
The create feature is a compulation of widgets that contains all create sub-widgets, this will allow a product developer to simply reqest data in a speficitct order to create a flow for the users, it will also make sure any third party api recives the nesasary data.
| Add buttions | Design | Prototype | Dev Mode | Task | Alpha Branch | Chat | Alpha | Beta | Production
- Details
- Design
- Develpment
- Launch
Details
Description
Replace with a detailed description here
Status
These details are only updated with each release, for more acurate updates and keeping track of progress, see the task in GitHub.
| Owner | Lead | Doc Status | Product Status | Last Update | Version | Release | Phase |
|---|---|---|---|---|---|---|---|
| Mendy | Rachel | In Progress | In Progress | 04.03.2024 | 0.01 | Internal | Alpha |
Use Cases
User Stories
Persona One
Update Coming Soon
As a busy user I don’t want to watch but rather listen to a podcast, however, when I hear a voice I don’t recognize, I want to take a glance at my phone to see a name and/or photo of who is talking or maybe ask the built-in “AI/assistant”.
Reminders
- #191
- #205
- Ensure Deep Link is setup
- Ensure theme is properly linked
- Be sure to follow the release guidelines
- Update Documentation
Links & Resources
Coming Soon
-
Biz Docs
-
Research
-
Chat | Alpha | Beta | Production
Tasks
Parent Tasks
Child Tasks
Child Tasks
Coming Soon
Design
Branding
While this feature is called "Create", it is important to brand the FAB button appropriately. The currct brading is as follows...
The branding section is incomplete, more details coming soon
- Persocnial
- Content "Post"
- Share
- Creator
- Content "Create"
User Flow
-
Create Org
-
Create Content (AKA Post)
- show
- epesoid
- album
- playlist
- song
- radio
- podcast
- channel
- post
- video
- Start/End Stream
- Auction
- Recipie
-
Create Profile
-
Create Product
-
Create Store
-
Create Deposit/withdral
-
Create campaign
Splash views > Intro > Onboarding > Overview > All Categories > All Shows > All Hosts > Show > Episodes > Episode
UX
Mobile
Web
Development
Before you start developing you will need to setup your environment, if you have not done that yet visit Development Envietment.
Tasks
Parent Tasks
Child Tasks
Child Tasks
Coming Soon
- Backend
- Frontend
Backend
Create doesn’t have it's own backend but rather uses the POST endpoints to craete depending on what the user is trying to create.
Tasks
Security
- Limits: Set limits to how many things a user can create within a set amount of time, make exceptions for agency accounts and upload format since they may use a spreadsheet to bulk upload/create.
- IP Check: Make sure there is no strange behavior while creating such as chnaging IP, VPN use, etc.
- Auth: Double checking that the user is authenticated.
- etc.
Functions
Utilized Functions
- [ ]
Built-in Functions
- The parent widget will skip any data that is alredy avalible in the database.
Dependicies
- API
- SKD
Frontend
Dependicies
Compatibility
Compatibility
Google / Android
- Phones
- Tablets
- Wear OS
- Android TV
- Google TV
- Chrome OS
- Google Cast
- Google Glass
- AndroidXR
- Google Home
Apple
- iPhone
- iPad
- Apple Watch
- Apple TV
- Mac OS
- AirDrop
- Apple Vision
Web
- Mobile
- Tablet
- Desktop
- Oculus
Logic
Practicly every view should have a create FAB, depending on the view the user starts the create flow from, it will determin what the user is creating (e.g. if the user is viewing their own view, they are most likly creating an episode)
Widgets
These widgets will need to be seperatly documented since they are likly to be utilized in other parts of the app, once dedicated documentation has been created, it should be linked.
Core Widgets
The Create feature is made up of four layers...
- Components: (list of widgets)
- Create Stage: This is a list of widgets that make up each stage, it contains all the widgets needed in a stage (e.g. header, list of category, next button, etc.).
- Create widget: basically just a bottom sheet and the create stage widget. (it would be better if this is part of the Create Stage widgets howver the animation might not be right, should be tested and merged if it looks good)
- Flows: This flows will not be documented here as it is not part of the create feature. The "Create Flow" is part of the individual feature (e.g. profile,, org, podcast, etc.) and thefore should be created and documented by the developer working of set feature within it's respective document.
The end result should be that the dev can create a file "create_podcast_flow.dart" in here they can use the Create widget and set the flow (e.g. prompt, field, categories, confirm.)
Prompt and confirm should be mandatory
Now they need to set the data each stage should fill (e.g. field should connect to podcast name)
They also need to fill in the parameters of the widgets inside the create widget (e.g. header widget has a title and subtitle)
Example of a flow
CreateWidget(
flow: CreateFlow(
Prompt(
title: ""
subtitle: ""
actions:(
action: buttion(
icon.options,
),
action: buttion(
text "get started",
),
action: switch
),
bannerIcon(podcast.icon)
),
Field(
),
Categories(
),
Confirm(
),
),
class
//code that determines what data is needed for each step of the flow.
)
Components
-
Start Prompt
The start prrompt is the starting point for all create flows, it provides the user with some context to what they are about to create and a chance to modify thier creation.
-
Share
-
Products
-
Confirm Prompt
Craete Stage
-
The profile stage allows the user to choose a profile, the data (my profile or other) is set by the developer who is creating the flow not in the stage. Here are the child widgets we need.
- Header
- Profile List
- Next Button
Features
Below is a list of features that will be utilized in order to deliver a great podcast experiance. The details bellow are not comprehensive feature details but rather, describe how the features will be utilized withon the podcast product, for further details, please see the individual feature documentation.