RestauranTour Superformula Test - Guilherme Fonseca#17
Open
fonsecguilherme wants to merge 38 commits intoSuperformula:masterfrom
Open
RestauranTour Superformula Test - Guilherme Fonseca#17fonsecguilherme wants to merge 38 commits intoSuperformula:masterfrom
fonsecguilherme wants to merge 38 commits intoSuperformula:masterfrom
Conversation
First commit
App changes
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Project Documentation 🇺🇸
Overview
This challenge was proposed by the Superformula team, and it’s an application I developed focused on restaurants. The app features two main screens:
Home Page
Restaurant Page
Development Environments
The application supports two distinct environments:
Development Environment (Dev): I created a mocked data json endpoint to avoid exceeding Yelp API’s daily limit. the endpoint can be accessed using link.
Production Environment (Prod): Connects to the official Yelp API endpoint to retrieve real data.
API Key Configuration
To ensure the security of the Yelp API key, I used
dart-definealong with a JSON file containing the key. This file is not included in the Git repository to protect the key from unauthorized access.API Key File Structure
The
api-keys.jsonfile should follow this structure:{ "YELP_KEY": "<Insert your key here>" }Security Considerations
dart-defineand not include the API key file from the Git repository, I protect the key from unauthorized access. The key will not be accessible to end users upon APK decompilation.Project Technical Overview
Technologies and Packages
Dart and Flutter Packages
Key Features and Practices
This combination of packages and practices ensures a robust, maintainable, and testable application architecture.
BLoC
Tests
App Structure
Video
Video
Screenshots
App screenshots are at the end of the file.
Documentação do Projeto 🇧🇷
Visão Geral
Este desafio foi proposto pela equipe Superformula, e trata-se de um aplicativo que foi desenvolvido focado em restaurantes. O aplicativo possui duas telas principais:
Página Inicial
Página do Restaurante
Ambientes de Desenvolvimento
O aplicativo suporta dois ambientes distintos:
Ambiente de Desenvolvimento (Dev): Criei um endpoint JSON de dados simulados para evitar exceder o limite diário da API do Yelp. O endpoint pode ser acessado usando o link.
Ambiente de Produção (Prod): Conecta-se ao endpoint oficial da API do Yelp para recuperar dados reais.
Configuração da Chave API
Para garantir a segurança da chave API do Yelp, usei
dart-definejuntamente com um arquivo JSON contendo a chave. Este arquivo não está incluído no repositório Git para proteger a chave de acesso não autorizado.Estrutura do Arquivo da Chave API
O arquivo
api-keys.jsondeve seguir esta estrutura:{ "YELP_KEY": "<Insira sua chave aqui>" }Considerações de Segurança
dart-definee não incluindo o arquivo que contém a chave API no repositório Git, proteje a chave de acesso não autorizado. A chave não será acessível aos usuários caso o apk do app seja decompilado.Visão Técnica do Projeto
Tecnologias e Pacotes
Pacotes Dart e Flutter
Principais Recursos e Práticas
Esta combinação de pacotes e práticas garante uma arquitetura de aplicativo robusta, manutenível e testável.
BLoC
Testes
Estrutura do Aplicativo
Vídeo
Vídeo
Screenshots