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

Paolo Pinto SuperFormula Code Test #18

Open
wants to merge 34 commits into
base: master
Choose a base branch
from

Conversation

paolojoaquinp
Copy link

Superformula Mobile Test

@paolojoaquinp

Summary

This initiative embraces Clean Architecture tenets with a Feature-First methodology, crafted for productive and systematic development. It leverages Yelp's GraphQL API for restaurant data retrieval, augmented by a JSON file containing cached information to address Yelp's daily query constraints. Subsequent establishment specifics and patron evaluations are obtained in real-time.

Code Structure

The source code is divided into several directories, mirroring the conceptual separation advocated by Clean Architecture guidelines:

  • core: Encompasses fundamental utilities and facilitators such as dio_helper.dart for network communication and hive_helper.dart for local data retention.
  • models: Encompasses data structures like restaurant.dart.
  • navigation: Oversees application traversal via files such as route_navigator.dart.
  • services: Facilitates initialization and service configuration through app_init.dart.
  • features: Categorized by individual views/screens, e.g., home_page and restaurant_page, each feature encapsulating its own business rules, data handling, and UI logic.
  • repositories: Houses yelp_repository.dart for interfacing with the Yelp API.
  • shared: Accommodates reusable UI components like single_restaurant_card and utility elements such as status_indicator.dart.

Furthermore, the project utilizes dotenv for environment variable administration, enhancing security and adaptability.

How to install it

Prior to executing the project, establish an .env file make a copy from the .env.example file in the project's root directory with the following entry:

YELP_API_KEY=<add_the_api_key_here>

Code

This app use oxidized for functional programming constructs, fostering a more resilient, fault-tolerant development ecosystem.

- Creation of feature restaurant screen | detail
- Integration with card restaurant in home | hero animation
- creation of logic of restaurant screen feature with flutter bloc
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.

1 participant