Job Finder é uma plataforma web completa para conectar clientes a profissionais de serviços domésticos. O sistema permite que clientes busquem e contratem profissionais para diversos tipos de serviços, como reparos, montagem, encanamento, elétrica, limpeza e pintura.
O Job Finder é uma solução abrangente que aborda todas as necessidades de um marketplace de serviços domésticos, desde o cadastro de usuários até o processamento de pagamentos. A plataforma oferece uma experiência rica tanto para clientes que buscam serviços quanto para profissionais que os prestam, com recursos avançados de geolocalização, chat em tempo real, sistema de avaliações e muito mais.
- Busca Avançada: Encontre profissionais por categoria, localização, preço e avaliação
- Agendamento Inteligente: Sistema de agendamento com múltiplas etapas e validação
- Chat em Tempo Real: Comunique-se diretamente com os profissionais
- Histórico de Serviços: Acompanhe todos os serviços solicitados
- Sistema de Avaliações: Avalie e veja avaliações de profissionais
- Pagamentos Seguros: Processamento de pagamentos integrado com Stripe
- Geolocalização: Visualize profissionais próximos em mapas interativos
- Serviços Personalizados: Solicite serviços fora das categorias padrão
- Modo Escuro: Interface moderna com suporte a modo escuro automático
- Painel de Controle: Dashboard completo para gerenciar serviços
- Perfil Profissional: Perfil personalizável com fotos e descrições detalhadas
- Sistema de Avaliações: Construa sua reputação com avaliações de clientes
- Estatísticas de Desempenho: Acompanhe seu desempenho com métricas detalhadas
- Gerenciamento de Serviços: Organize e acompanhe seus serviços agendados
- Visualização de Mapas: Veja onde seus clientes estão localizados
- Modo Escuro: Interface moderna com suporte a modo escuro automático
- Dashboard Analítico: Métricas completas do sistema com gráficos interativos
- Gestão de Usuários: Administre clientes, profissionais e administradores
- Monitoramento de Pedidos: Acompanhe todos os pedidos em tempo real
- Análise de Dados com IA: Insights avançados com inteligência artificial
- Sistema de Parceiros: Gerencie sponsors e programas de parceria
- Ferramentas de Manutenção: Comandos de gerenciamento para manutenção do sistema
- Modo Escuro: Interface moderna com suporte a modo escuro automático
- Assistente de Acessibilidade: Ferramenta integrada com opções de contraste, tamanho de fonte e Libras
- Modo Escuro: Suporte completo a modo escuro para reduzir fadiga visual
- Compatibilidade com Leitores de Tela: Marcações semânticas para leitores de tela
- Navegação por Teclado: Navegação completa usando apenas o teclado
- Python 3.8+: Linguagem de programação principal
- Django 5.2.6: Framework web robusto e escalável
- SQLite: Banco de dados de desenvolvimento
- Stripe: Processamento de pagamentos seguro
- Pillow: Processamento de imagens para avatares
- Gunicorn: Servidor WSGI para produção
- psycopg2: Conector para PostgreSQL (para produção)
- HTML5: Estrutura semântica das páginas
- CSS3: Estilização com Bootstrap 5 e estilos personalizados
- JavaScript: Interatividade e funcionalidades dinâmicas
- Font Awesome: Ícones vetoriais e sociais
- Google Maps JavaScript API: Integração com mapas e geolocalização
- Chart.js: Visualização de dados em gráficos
- Tailwind CSS: Framework CSS para componentes React
- WebsiteOptimizer: Analisa comportamento do usuário e sugere melhorias
- PersonalizationEngine: Personaliza conteúdo com base no histórico
- ContentGenerator: Gera descrições de serviços e conteúdo automaticamente
- Chat AI Assistant: Assistente de chat com inteligência artificial
- ML Analytics: Análise preditiva e recomendações
- Python 3.8 ou superior
- pip (gerenciador de pacotes do Python)
- Clone o repositório:
git clone <url-do-repositorio>
cd Pi_mobile
- Crie um ambiente virtual:
python -m venv venv- Ative o ambiente virtual:
# Windows
venv\Scripts\activate
# Linux/Mac
source venv/bin/activate- Instale as dependências:
pip install -r requirements.txt- Configure as variáveis de ambiente (crie um arquivo
.envbaseado no.env.example):
cp .env.example .env
# Edite o arquivo .env com suas configurações- Execute as migrações do banco de dados:
python manage.py migrate- Crie um superusuário (administrador):
python manage.py createsuperuser- (Opcional) Popule o banco de dados com dados de exemplo:
python manage.py import_sample_data- Inicie o servidor de desenvolvimento:
python manage.py runserver- Acesse a aplicação em
http://127.0.0.1:8000/
O Job Finder inclui um modo escuro moderno que pode ser ativado de várias maneiras:
- Detecção Automática: O sistema detecta automaticamente a preferência do sistema operacional
- Botão de Alternância: Use o botão de lua/sol na barra de navegação
- Painel de Acessibilidade: Acesse através do assistente de acessibilidade
- Paleta de cores cuidadosamente selecionada para reduzir fadiga visual
- Contraste adequado para legibilidade
- Suporte completo a todos os componentes da interface
- Transições suaves entre modos claro e escuro
- Persistência da preferência do usuário
Os desenvolvedores podem personalizar as cores do modo escuro modificando as variáveis CSS no arquivo static/css/dark-mode.css.
Pi_mobile/
├── home_services/ # Configurações do projeto Django
├── services/ # Aplicação principal
│ ├── migrations/ # Migrações do banco de dados
│ ├── templates/ # Templates HTML
│ ├── static/ # Arquivos estáticos (CSS, JS, imagens)
│ ├── models.py # Modelos do banco de dados
│ ├── views.py # Views/controllers
│ ├── urls.py # Rotas da aplicação
│ ├── admin.py # Configurações do admin Django
│ ├── tests.py # Testes automatizados
│ ├── chat_views.py # Views específicas para chat
│ ├── payment.py # Processamento de pagamentos
│ ├── content_generator.py # Geração de conteúdo com IA
│ ├── personalization.py # Motor de personalização
│ ├── ml_analytics.py # Análise de dados com machine learning
│ ├── notifications.py # Sistema de notificações
│ ├── health.py # Monitoramento de saúde do sistema
│ ├── ai_context_processor.py # Processador de contexto para IA
│ ├── context_processors.py # Processadores de contexto
│ ├── middleware.py # Middleware personalizado
│ ├── ai_middleware.py # Middleware para IA
│ ├── management/ # Comandos de gerenciamento personalizados
│ └── ...
├── templates/ # Templates globais
├── static/ # Arquivos estáticos globais
├── docs/ # Documentação do projeto
├── manage.py # Script de gerenciamento do Django
├── requirements.txt # Dependências do projeto
├── .env.example # Exemplo de variáveis de ambiente
├── .gitignore # Arquivos ignorados pelo Git
└── db.sqlite3 # Banco de dados SQLite
Representa os serviços padrão oferecidos na plataforma.
- Atributos: nome, descrição, categoria, preço base, duração estimada
- Relacionamentos: Cada serviço pode ter múltiplos pedidos
Representa serviços personalizados oferecidos por profissionais.
- Atributos: nome, descrição, categoria, preço estimado, duração estimada
- Relacionamentos: Pertence a um profissional, pode ter múltiplos pedidos
Extende o modelo de usuário padrão do Django com informações adicionais.
- Atributos: tipo de usuário, telefone, endereço, geolocalização, avatar
- Relacionamentos: Um para um com User, múltiplos serviços personalizados
Representa os pedidos/serviços solicitados pelos clientes.
- Atributos: status, data agendada, endereço, notas, preço total
- Relacionamentos: Pertence a um cliente e opcionalmente a um serviço/profissional
Sistema de mensagens entre clientes e profissionais.
- Chat: Conecta cliente e profissional, associado a um pedido
- Message: Mensagens individuais com suporte a texto, imagens e localização
Sistema de avaliações de clientes para profissionais.
- Atributos: classificação (1-5 estrelas), comentário, status verificado
- Relacionamentos: Um para um com Order, pertence a cliente e profissional
Gerenciamento de métodos de pagamento dos usuários.
- Atributos: tipo de pagamento, últimos 4 dígitos, nome do titular
- Relacionamentos: Pertence a um usuário
Sistema de patrocinadores e parceiros.
- Atributos: nome, descrição, logo, website, status ativo
- Relacionamentos: Pode ser associado a múltiplos usuários
Para executar os testes automatizados:
python manage.py test- Testes Unitários: Verificam funcionalidades individuais dos modelos e views
- Testes de Integração: Testam a interação entre diferentes componentes
- Testes de API: Validam endpoints e respostas da API
- Testes de Interface: Verificam a funcionalidade da interface do usuário
# Testar apenas a aplicação services
python manage.py test services
# Testar modelos específicos
python manage.py test services.tests.ModelTests
# Testar views específicas
python manage.py test services.tests.ViewTests
O projeto inclui vários comandos de gerenciamento úteis para desenvolvimento e manutenção:
python manage.py populate_datapython manage.py process_ai_analytics
python manage.py generate_sample_orders --number 20python manage.py cleanup_chat_messages --days 60
python manage.py export_user_data --user-id 1 --format jsonpython manage.py backup_database --include-media --compresspython manage.py import_sample_datapython manage.py reset_database --no-input
python manage.py initialize_reviews
python manage.py initialize_geolocation
python manage.py create_sample_services
python manage.py health_check
Analisa o comportamento dos usuários e sugere melhorias para o site.
- Coleta de Dados: Monitora cliques, tempo de permanência e padrões de navegação
- Análise Preditiva: Identifica áreas de melhoria com base em dados históricos
- Recomendações: Sugere otimizações de UI/UX e conteúdo
Personaliza o conteúdo com base no histórico de interações do usuário.
- Perfil do Usuário: Constrói perfis detalhados com preferências e comportamentos
- Recomendações Inteligentes: Sugere serviços e profissionais relevantes
- Conteúdo Adaptativo: Ajusta o conteúdo exibido com base no perfil
Gera conteúdo automaticamente para descrições de serviços, depoimentos e FAQs.
- Descrições de Serviços: Cria descrições detalhadas e otimizadas
- Depoimentos Gerados: Produz depoimentos realistas para marketing
- FAQ Automática: Gera perguntas e respostas comuns
- Respostas de Chat: Fornece respostas inteligentes no sistema de chat
Assistente de chat com inteligência artificial para suporte automatizado.
- Processamento de Linguagem Natural: Entende consultas dos usuários
- Respostas Contextuais: Fornece respostas relevantes com base no contexto
- Aprendizado Contínuo: Melhora as respostas com base em interações
GET /- Página inicialGET /login/- Página de loginGET /register/- Página de registroGET /search/- Busca de profissionaisGET /map/- Visualização de mapa com profissionais próximosGET /about/- Página sobre a empresaGET /contact/- Página de contatoGET /faq/- Perguntas frequentesGET /terms/- Termos de serviçoGET /privacy/- Política de privacidade
GET /profile/- Perfil do usuárioGET /provider-dashboard/- Painel do profissionalGET /admin-dashboard/- Painel administrativoPOST /request-service/- Solicitação de serviçoPOST /submit-review/<order_id>/- Submissão de avaliaçãoGET /professional-reviews/<professional_id>/- Obtenção de avaliações de profissionalPOST /api/update-location/- Atualização de localização do usuárioGET /api/nearby-professionals/- Obtenção de profissionais próximosGET /chat/- Lista de conversasGET /chat/<chat_id>/- Sala de chat específicaPOST /chat/<order_id>/create/- Criação de chat para um pedidoGET /service-history/- Histórico de serviçosGET /payment/<order_id>/- Processamento de pagamentoPOST /save-payment-method/- Salvamento de método de pagamento
- Faça um fork do projeto
- Crie uma branch para sua feature (
git checkout -b feature/AmazingFeature) - Commit suas mudanças (
git commit -m 'Add some AmazingFeature') - Push para a branch (
git push origin feature/AmazingFeature) - Abra um Pull Request
- Siga o estilo de código existente
- Adicione testes para novas funcionalidades
- Atualize a documentação conforme necessário
- Verifique se todos os testes passam antes de enviar
- Use mensagens de commit descritivas
- Use o template de issues fornecido
- Inclua informações detalhadas sobre o problema
- Forneça passos para reproduzir o problema
- Inclua screenshots quando relevante
Este projeto é privado e destinado apenas para fins educacionais.
Para mais informações, entre em contato com a equipe de desenvolvimento.
This project contains a visually improved React implementation of the Admin Dashboard using Tailwind CSS. The component maintains all existing functionality while significantly enhancing the visual design with improved spacing and breathing room according to the specified requirements.
- Modern, clean design with enhanced spacing and typography
- Fully responsive layout that works on all device sizes
- Interactive elements with smooth animations and transitions
- Consistent purple/white color scheme with softened gradients
- Comprehensive documentation explaining design decisions
- Improved spacing and breathing room throughout the interface
- Node.js (version 14 or higher)
- npm or yarn package manager
- Clone or download this repository
- Navigate to the project directory:
cd pi_mobile - Install dependencies:
or
npm install
yarn install
To start the development server:
npm startThe application will be available at http://localhost:3000
To use this component in your project:
- Ensure you have React and Tailwind CSS installed
- Copy the following files to your project:
src/components/AdminDashboard.jsxsrc/styles/AdminDashboard.css
- Import the component in your application:
import AdminDashboard from './components/AdminDashboard';
- Include the component in your JSX:
<AdminDashboard />
- Enhanced container padding for better visual breathing room
- Increased card padding for more spacious content presentation
- Improved grid gaps between elements
- Better vertical spacing between sections
- Enhanced button sizing for improved touch targets
- Improved modal spacing for better content organization
- React
- Tailwind CSS
- Font Awesome (for icons)
- Vite (for development server)
This component works in all modern browsers that support:
- CSS Grid
- Flexbox
- ES6 JavaScript
- React
For detailed information about the visual improvements and implementation, see:
REACT_ADMIN_DASHBOARD.md- Comprehensive documentation of design decisionsSPACING_IMPROVEMENTS_SUMMARY.md- Detailed summary of spacing enhancements- Code comments in
AdminDashboard.jsx- Inline explanations of key features
This component is provided as-is for educational and demonstration purposes.