Sou um desenvolvedor Flutter apaixonado por transformar ideias em aplicativos modernos, rápidos e responsivos para Android, iOS e Web. Aqui, você encontrará alguns dos projetos que desenvolvi, minhas principais habilidades técnicas e formas de entrar em contato. Fique à vontade para explorar e descobrir como posso ajudar a dar vida ao seu próximo projeto!
Controle e Inteligência para o Seu Delivery O Painel de Pedidos é uma poderosa plataforma desenvolvida para transformar a gestão de pedidos e operações do seu negócio de delivery. Com uma interface moderna, intuitiva e repleta de recursos inteligentes, o sistema foi projetado para proporcionar eficiência, agilidade e visão estratégica, ajudando sua empresa a crescer com base em dados concretos.
Dashboard Inteligente: Visualização clara e completa dos pedidos em andamento, dados estratégicos e para tomada de decisão.
Usuários Ativos: Acompanhe a evolução de cliente usando o app, mês a mês.
Ticket Médio: Acompanhe a evolução do ticket médio diário, semanal ou mensal.
Tempo Médio: Tenha o controle do tempo dos seus pedido de forma simples.
Projeção: Antecipe demandas com base em dados históricos.
Gráficos Dinâmicos: Compreensão visual rápida para decisões assertivas.
Previsão do Tempo: Planeje com base nas condições climáticas locais.
Cobertura Efetiva: Mapa interativo com áreas de maior concentração de pedidos.
Relatórios Detalhados: Dados completos para melhorar o desempenho e produtividade.
Cadastro de Produtos: Simples, elegante e eficiente.
Controle Total de Pedidos: Imprima, altere status e acompanhe pedidos em tempo real.
Cupons de Desconto: Fidelize e atraia novos clientes com praticidade.
Horário de Funcionamento: Defina horários e dias de atendimento facilmente para seus clientes.
Apareças: Divulgue telefone, redes sociais e endereço em seu aplicativo.
Destaque de Produtos: Destaque produtos no banner do app para impulsionar vendas.
Produtos Mais Vendidos: Acesso rápido aos itens de maior saída.
PDV Integrado: Atendimento rápido com um ponto de venda moderno e funcional.
Controle de Mesas: Ideal para restaurantes, permite o gerenciamento de mesas e pedidos com simplicidade.
Apresento um aplicativo de delivery de alimentos personalizado, desenvolvido para atender empresas de todos os portes com elegância, eficiência e com identidade própria. Criado com Flutter, este projeto combina design moderno e funcionalidades robustas, permitindo que cada negócio tenha sua própria versão exclusiva.
Painel Intuitivo para Empresas: Gerencie Gerencie o aplicativo com facilidade por meio de um painel de controle amigável.
Visualização Atraente do Cardápio: Interface elegante e responsiva para exibir cardápio com fotos chamativas e descrições detalhadas, para uma melhor experiencia do cliente.
Processo de Pedido Eficiente: Pedido fluido: selecione, personalize, escolha a forma de pagamento e finalize em poucos passos, com cálculo automático do total.
Produtos Favoritos: Usuários podem salvar seus itens preferidos para acessá-los rapidamente em futuros pedidos.
Pesquisa Inteligente: Sistema de busca rápido e intuitivo para encontrar qualquer item no cardápio.
Acompanhamento em Tempo Real: Acompanhe cada etapa do pedido com atualizações automáticas e notificações em tempo real.
Login com Google e Segurança: Integração com Firebase para autenticação segura e armazenamento de dados, com login facilitado via Google.
Múltiplos Endereços de Entrega: Cadastro inteligente com preenchimento automático via API, permitindo múltiplos endereços e gerenciamento simples do endereço padrão.
Carrinho Intuitivo: Adicione itens ao carrinho com facilidade, confira os produtos selecionados em uma tela clara e organizada.
Um Parceiro financeiro inteligente, aplicativo de gerenciamento financeiro projetado para empresas AFK Gestão que permite manter um controle preciso de suas despesas e receitas. Com uma interface intuitiva e recursos poderosos, o aplicativo oferece uma visão abrangente das finanças da sua empresa.
Lançamento de Despesas e Receitas: Registre todas as transações financeiras da sua empresa, desde pagamentos de fornecedores até recebimentos de clientes. Categorize as transações para facilitar a análise posterior.
Saldo das Contas: O aplicativo exibe o saldo atual da carteiras virtuais da empresa. Gráficos mostra a evolução do saldo ao longo do tempo.
Segurança e Privacidade: Utilizamos o MySQL para armazenar os dados com segurança. A autenticação de usuário garante que apenas pessoas autorizadas tenham acesso às informações financeiras.
Visual Atraente: Desenvolvido com Flutter e Dart, o aplicativo oferece uma experiência suave em dispositivos móveis.
Benefícios: Simplifique o gerenciamento financeiro da sua empresa com uma solução centralizada.
Tomada de Decisão Informada: Acompanhe o fluxo de caixa, identifique tendências e tome decisões embasadas.
Economia de Tempo: Reduza o tempo gasto em tarefas manuais de registro e reconciliação. O app é o parceiro ideal para manter suas finanças empresariais sob controle.
Este é um aplicativo de e-commerce desenvolvido para AFK Gestão, focado em oferecer uma experiência de compra fluida e intuitiva para usuários que desejam uma boa experiência e praticidade com entrega em domicílio.
Visualização de Produtos: Interface elegante para explorar itens com imagens, preços, descrições e variações de tamanho e cor.
Pedidos Rápidos e Simples: Adicione produtos à sacola, escolha as opções desejadas e finalize o pedido com poucos toques.
Entrega Direta ao Cliente: Cadastro de endereço e horário de entrega preferido para maior comodidade.
Busca Inteligente: Pesquisa rápida e eficiente para localizar produtos com facilidade.
Sacola de Compras: Design moderno e prático para revisar itens antes da finalização do pedido.
Histórico e Pontuação: Acesso ao histórico de pedidos e acompanhamento dos pontos acumulados em compras anteriores.
Seu Guardião de Senhas e Dados de Cartão. Um aplicativo para uso pessoal desenvolvido para Android e iOS que permite que você armazene suas senhas e dados de cartão de crédito de forma segura e criptografada. Com uma interface gráfica intuitiva, o PassRecorder oferece uma maneira conveniente de gerenciar suas informações confidenciais.
Armazenamento Criptografado: Utiliza algoritmos de criptografia robustos para proteger suas senhas e dados de cartão. Suas informações são armazenadas de forma segura.
Gerenciamento de Senhas: Armazene suas senhas de forma organizada, o aplicativo permite que você crie categorias personalizadas para diferentes tipos de contas (por exemplo, e-mail, redes sociais, bancos).
Dados de Cartão de Crédito: Insira os detalhes do seu cartão de crédito, como número, data de validade e código de segurança. Essas informações são criptografadas e disponíveis apenas para você.
Visualização Gráfica: Apresentação dos cartões e senhas de forma visualmente agradável. Você pode ver ostipos dos cartões de crédito e ícones de contas salvas no aplicativo para melhor identificação das senhas armazenadas.
Login com Google: Faça login usando sua conta do Google para logar ou criar uma conta com apenas um clique.
Aplicativo completo desenvolvido em Flutter, voltado para o delivery de produtos pet, com foco em versatilidade, escalabilidade e personalização. Ideal para empresas de todos os tamanhos que buscam um sistema próprio, moderno e eficiente, com identidade visual exclusiva.
Painel Administrativo Intuitivo: Plataforma de gestão para empresas, com painel de controle amigável e de fácil navegação.
Apresentação Atraente dos Produtos: Interface responsiva e elegante, com e imagens e descrições detalhadas, para uma melhor experiencia do cliente.
Processo de Pedido Rápido e Fluido: Jornada de compra simplificada, seleção, pagamento e finalização em poucos toques.
Produtos Favoritos: Usuários podem marcar e salvar seus produtos preferidos para acesso rápido em futuras compras.
Pesquisa Inteligente: Sistema de busca otimizado para performance e facilidade de uso.
Acompanhamento em Tempo Real: Rastreamento do pedido com notificações automáticas em cada etapa da entrega.
Login Seguro com Google: Autenticação via Google para uma maior praticidade.
Suporte a Múltiplos Endereços: Cadastro de endereços com preenchimento automático por API e gerenciamento prático do endereço de entrega.
Carrinho de compra: Adição e visualização de produtos com praticidade em uma interface clara, moderna e funcional.
Próximos Projetos.
Nesse projeto, será desenvolvido um aplicativo para Android, cuja funcionalidade principal será a tomada de pedidos na mesa em restaurantes.
O projeto será desenvolvido para atender à necessidade de entregadores, e permitirá acesso a uma fila de entrega e alteração dos statos dos pedidos em tempo real.
Nesse projeto, será criado um sistema para acompanhamento de pedidos na cozinha, onde será possível ter acesso a todos os pedidos em produção e controle dos mesmos, promovendo a praticidade e economia.
lib/
└── src/
├── models/
│ ├── user_model.dart
│ ├── product_model.dart
│
├── views/
│ ├── home_page.dart
│ ├── login_page.dart
│ └── product_page.dart
│
├── data/
│ ├── datasources/
│ │ ├── api_datasource.dart
│ │ └── local_datasource.dart
│ └── repositories/
│ ├── user_repository_impl.dart
│ └── product_repository_impl.dart
│
├── controllers/
│ ├── user_controller.dart
│ ├── product_controller.dart
│ └── auth_controller.dart
│
└── core/
├── constants.dart
└── utils.dart
lib/
└── src/
├── domain/
│ ├── entities/
│ │ └── task.dart
│ ├── repositories/
│ │ └── task_repository.dart
│ └── usecases/
│ ├── get_tasks.dart
│ └── add_task.dart
│
├── data/
│ ├── models/
│ │ └── task_model.dart
│ ├── datasources/
│ │ └── task_local_datasource.dart
│ └── repositories/
│ └── task_repository_impl.dart
│
├── presentation/
│ ├── bloc/
│ │ └── task_bloc.dart
│ └── pages/
│ └── task_page.dart
│
└── core/
| └── global_task.dart
└── main.dart
// Classe de serviço independente
class EmailService {
void sendEmail(String message) => print("Enviando email: $message");
}
// Classe que depende da abstração do serviço
class NotificationManager {
final EmailService service; // dependência injetada
NotificationManager(this.service);
void notifyUser(String message) {
service.sendEmail(message); // usa o serviço sem criar internamente
}
}
void main() {
final emailService = EmailService();
final notifier = NotificationManager(emailService);
notifier.notifyUser("Nova mensagem disponível!");
}
Alta Coesão:
class AuthService {
void login() {...}
}
class EmailService {
void sendEmail() {...}
}
class ReportService {
void generateReport() {...}
}
UserManager {
void login() {...}
void sendEmail() {...}
void generateReport() {...}
}
Orientação a Objetos (OOP)
class Logger {
// Instância única
static final Logger _instance = Logger._internal();
// Construtor interno
Logger._internal();
// Fábrica para retornar a instância única
factory Logger() => _instance;
void log(String message) {
print("LOG: $message");
}
}
void main() {
var logger1 = Logger();
var logger2 = Logger();
logger1.log("Iniciando aplicação");
print(logger1 == logger2); // true, mesma instância
}
// Modelo de usuário
class UserModel {
final String name;
UserModel(this.name);
}
// Repository
class UserRepository {
final List _users = [];
void addUser(UserModel user) => _users.add(user);
List getAllUsers() => List.unmodifiable(_users);
}
void main() {
final repo = UserRepository();
repo.addUser(UserModel("João"));
repo.addUser(UserModel("Maria"));
for (var user in repo.getAllUsers()) {
print(user.name);
}
}
// Subject
class NewsPublisher {
List _subscribers = [];
void subscribe(Function(String) subscriber) {
_subscribers.add(subscriber);
}
void notify(String news) {
for (var subscriber in _subscribers) {
subscriber(news);
}
}
}
void main() {
final publisher = NewsPublisher();
// Observers
publisher.subscribe((news) => print("App1 recebeu: $news"));
publisher.subscribe((news) => print("App2 recebeu: $news"));
// Notificação
publisher.notify("Nova atualização disponível!");
}
// Implementação concreta
class Database {
void save(String data) => print('Salvando: $data');
}
// Classe que recebe a dependência por construtor
class UserRepository {
final Database db;
UserRepository(this.db); // injeção da dependência
void saveString(String name) {
db.save(name);
}
}
void main() {
final database = Database();
final repo = UserRepository(database); // injetando a dependência
repo.saveString("Hello World!");
}
// Definindo a interface
abstract class Vehicle {
void start();
void stop();
}
// Implementação 1
class Car implements Vehicle {
@override
void start() => print("Carro ligado");
@override
void stop() => print("Carro desligado");
}
// Implementação 2
class Bike implements Vehicle {
@override
void start() => print("Bicicleta em movimento");
@override
void stop() => print("Bicicleta parada");
}
void main() {
Vehicle myCar = Car();
Vehicle myBike = Bike();
myCar.start(); // Carro ligado
myBike.start(); // Bicicleta em movimento
}
// Interface
abstract class Notifier {
void send(String message);
}
// Implementação concreta
class EmailNotifier implements Notifier {
@override
void send(String message) => print("Enviando e-mail: $message");
}
// Decorator
class SMSDecorator implements Notifier {
final Notifier wrapped;
SMSDecorator(this.wrapped);
@override
void send(String message) {
wrapped.send(message); // mantém comportamento original
print("Enviando SMS: $message"); // adiciona comportamento extra
}
}
void main() {
Notifier notifier = EmailNotifier();
notifier = SMSDecorator(notifier); // adiciona funcionalidade
notifier.send("Hello, World!");
}
// Estratégia (interface)
abstract class LoginStrategy {
void login();
}
// Estratégia concreta 1
class UserPasswordLogin implements LoginStrategy {
@override
void login() => print("Login com usuário/senha");
}
// Estratégia concreta 2
class GoogleLogin implements LoginStrategy {
@override
void login() => print("Login com Google");
}
// Contexto
class AuthService {
LoginStrategy strategy;
AuthService(this.strategy);
void authenticate() => strategy.login();
}
void main() {
var auth = AuthService(UserPasswordLogin());
auth.authenticate(); // Login com usuário/senha
auth.strategy = GoogleLogin();
auth.authenticate(); // Login com Google
}
// Classe existente com método incompatível
class OldPrinter {
void printText(String text) => print("Imprimindo: $text");
}
// Interface esperada pelo cliente
abstract class Printer {
void print(String text);
}
// Adapter
class PrinterAdapter implements Printer {
final OldPrinter oldPrinter;
PrinterAdapter(this.oldPrinter);
@override
void print(String text) {
oldPrinter.printText(text); // traduz a chamada
}
}
void main() {
Printer printer = PrinterAdapter(OldPrinter());
printer.print("Olá, mundo!");
}
Contate-me e vamos construir algo incrível juntos.