Skip to content

Instantly share code, notes, and snippets.

@minikin
Last active March 5, 2024 10:42
Show Gist options
  • Save minikin/40a3a61bbbae2282232690cd67a6b2c3 to your computer and use it in GitHub Desktop.
Save minikin/40a3a61bbbae2282232690cd67a6b2c3 to your computer and use it in GitHub Desktop.
Catalyst Flutter Task

About Catalyst Voices

Catalyst is an open-source project that uses Web3 tech to enable community-driven governance, decision-making, and funding within the Cardano ecosystem.

Catalyst Voices is a unified front-end interface to meet the needs of the Catalyst community. Developed with continuous feedback from the community, the Catalyst Team will deliver a unified experience to replace the patchwork of wallets, Ideascale, standalone web apps, and the Catalyst mobile app today.

The product design is informed by insights gleaned over nearly three years of operating Catalyst, ongoing discovery research, and feedback from the community.

This year, we'll deliver the Catalyst Voices app only for the Web. Later, we will add iOS, Android, macOS, Linux, and Windows support.

Learn more about Catalyst Voices.

Objective

Review the Catalyst Voices app's codebase and documentation, then provide a comprehensive analysis, feedback, and suggestions for improvements that could enhance the app's quality, performance, or user engagement.

Timebox yourself to 3 hours maximum. Please focus on the most critical areas you think the report must cover and only do the other areas, time permitting.

Task Description

Codebase Review

Review the existing codebase and documentation of the Catalyst Voices app. Pay special attention to the architecture, coding standards, dependency management, state management, and overall project structure.

Feedback and Analysis Document

Create a Markdown document summarizing your analysis, feedback, and suggestions. The document should be structured into several key sections (template provided below).

Proposed report format

Introduction

Briefly introduce the purpose of the document and your overall impressions of the codebase.

Code Review

Discuss the code quality, including any instances of code smell, inconsistencies with Flutter best practices, or areas where the code could be made more efficient or readable.

Architecture and Design

Evaluate the app's architecture and design patterns. Suggest improvements or alternative approaches that could enhance maintainability and scalability.

State Management

Comment on the state management approach used. Offer suggestions for improvement or reasons why an alternative approach might be beneficial.

Performance

Identify any potential performance issues and suggest optimizations.

Testing

Evaluate the current testing strategy. Suggest areas where additional tests could be beneficial.

Documentation

Provide feedback on the project's documentation. Suggest areas for improvement or additional documentation that could help new contributors.

Improvements

Propose improvements that could benefit the app. Justify your suggestions with a focus on user value, feasibility, and potential impact.

Conclusion

Summarize your key points and overall recommendations for the project.

Deliverables

A Markdown (.md) document containing your comprehensive review, feedback, and suggestions as outlined above.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment