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

feat: initialize marketplace #1

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open

feat: initialize marketplace #1

wants to merge 4 commits into from

Conversation

a-wallen
Copy link

@a-wallen a-wallen commented Aug 2, 2023

The AppFlowy app can load color scheme files (JSON) so that the user can adapt the color scheme. Users should easily be able to download these JSON files from one place instead of sharing via Discord. To accommodate our users, we should have an application that shows all available themes for appflowy.

This PR introduces a flutter web app, which is the AppFlowy theme marketplace, a store that users can browse and download appflowy themes. The marketplace was built with Flutter because we might need the same functionality and components in the Desktop app later on.

The theme store shall be hosted on a server and shall communicate with serverless functions. The serverless functions will validate user payment information (if we choose to allow paid themes).

image

demo https://appflowy-theme-marketpla-e8f9b.firebaseapp.com/#/

@appflowy
Copy link
Contributor

appflowy commented Aug 2, 2023

Would you mind providing more context for the feature?

@LucasXu0
Copy link

There are some files related to Firebase that should be ignored.

Reference: https://github.com/firebase/functions-samples/blob/main/.gitignore

functions/.env.default Outdated Show resolved Hide resolved
lib/main.dart Outdated
Comment on lines 38 to 61
MultiBlocProvider(
providers: [
BlocProvider<AuthBloc>(
create: (BuildContext context) => AuthBloc(
authenticationRepository:
getIt.get<FirebaseAuthenticationRepository>(),
),
),
BlocProvider<PluginBloc>(
create: (BuildContext context) => PluginBloc(
pluginRepository: getIt.get<PluginRepository>(),
ratingsRepository: getIt.get<RatingsRepository>(),
),
),
BlocProvider<UserBloc>(
create: (BuildContext context) => UserBloc(
userRepository: getIt.get<UserRepository>(),
),
),
BlocProvider<PaymentBloc>(
create: (BuildContext context) => PaymentBloc(
paymentRepository: getIt.get<StripePaymentRepository>()),
),
],

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would be better to refactor the code inside the runApp function into a new widget."

@LucasXu0
Copy link

How do you manage the payment service? We should handle this part with care, as it involves highly sensitive security.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants