BeeCo é uma plataforma digital que conecta contratantes e prestadores de serviços profissionais. A aplicação permite que usuários encontrem, contratem e avaliem profissionais de diversas áreas, facilitando a conexão entre quem precisa de um serviço e quem pode fornecê-lo.
- Framework: Laravel 11.x
- Autenticação: JWT (JSON Web Tokens)
- Banco de Dados: MySQL/PostgreSQL
- API: RESTful
- Framework: React 18 com TypeScript
- Build Tool: Vite
- Roteamento: React Router DOM
- Styling: TailwindCSS
- State Management: Context API + React Query
- Containerização: Docker + Docker Compose
- Servidor: Nginx/Apache
- id (PK)
- nome
- email
- senha (password)
- tipo (contratante|prestador)
- data_nascimento
- sexo
- foto_perfil
- telefone
- id_endereco (FK)
- status (ativo|inativo)- id (PK)
- cep
- logradouro
- numero
- cidade
- estado
- complemento- id_contratante (PK)
- id_usuario (FK) → Users
- foto_local- id_prestador (PK)
- id_usuario (FK) → Users
- profissao
- sobre
- foto_servico_1
- foto_servico_2
- foto_servico_3- id_servico (PK)
- nome
- descricao
- tipo
- valor
- id_prestador (FK) → Prestadores
- id_contratante (FK) → Contratantes (opcional)- id_contrato (PK)
- data_inicio
- data_fim
- status
- valor_final
- id_prestador (FK) → Prestadores
- id_contratante (FK) → Contratantes
- id_servico (FK) → Servicos- id_avaliacao (PK)
- nota
- comentario
- data_avaliacao
- id_contrato (FK) → Contratos
- id_prestador (FK) → Prestadores
- id_contratante (FK) → Contratantes- id_favorito (PK)
- id_contratante (FK) → Contratantes
- id_prestador (FK) → Prestadores-
User ↔ Contratante/Prestador
- Um usuário pode ser contratante OU prestador
- Relacionamento 1:1 baseado no campo
tipo
-
Prestador → Serviços
- Um prestador pode oferecer múltiplos serviços
- Relacionamento 1:N (hasMany)
-
Contratante → Contratos
- Um contratante pode ter múltiplos contratos
- Relacionamento 1:N (hasMany)
-
Prestador → Contratos
- Um prestador pode ter múltiplos contratos
- Relacionamento 1:N (hasMany)
-
Serviço → Contratos
- Um serviço pode gerar múltiplos contratos
- Relacionamento 1:N (hasMany)
-
Contrato → Avaliações
- Cada contrato pode ter múltiplas avaliações
- Relacionamento 1:N (hasMany)
-
Contratante ↔ Prestador (Favoritos)
- Contratantes podem favoritar prestadores
- Relacionamento N:N através da tabela
favoritos
- Cadastro e autenticação
- Busca de profissionais por categoria/localização
- Visualização de perfis de prestadores
- Contratação de serviços
- Sistema de favoritos
- Avaliação de serviços contratados
- Chat com prestadores
- Histórico de contratações
- Cadastro com portfolio (fotos dos serviços)
- Criação e gerenciamento de serviços oferecidos
- Dashboard para gerenciar contratos
- Recebimento de avaliações
- Chat com contratantes
- Gestão de perfil profissional
- JWT para sessões seguras
- Middleware de autorização por tipo de usuário
- Rotas protegidas no frontend e backend
beeCo/
├── api/api-beeco/ # Backend Laravel
│ ├── app/
│ │ ├── Http/Controllers/ # Controladores da API
│ │ ├── Models/ # Modelos Eloquent
│ │ └── Providers/ # Service Providers
│ ├── routes/ # Definição de rotas
│ ├── database/ # Migrations e Seeders
│ └── config/ # Configurações
├── frontend/ # Frontend React
│ ├── src/
│ │ ├── components/ # Componentes React
│ │ ├── pages/ # Páginas da aplicação
│ │ ├── contexts/ # Context API
│ │ ├── api/ # Configuração de API
│ │ └── auth/ # Componentes de autenticação
│ └── public/ # Arquivos estáticos
└── docker-compose.yml # Configuração Docker
- PHP 8.2+
- Composer
- Node.js 18+
- Docker (opcional)
cd api/api-beeco
composer install
cp .env.example .env
php artisan key:generate
php artisan jwt:secret
php artisan migrate
php artisan servecd frontend
npm install
npm run devdocker-compose up -d- Contratante busca profissionais
- Contratante visualiza perfil do Prestador
- Contratante inicia contrato com Serviço específico
- Prestador aceita/rejeita contrato
- Execução do serviço
- Contratante avalia o Prestador
- Sistema atualiza reputação do Prestador
- Usuário faz login/registro
- Sistema valida credenciais
- JWT é gerado e retornado
- Frontend armazena token
- Requisições futuras incluem token no header
- Backend valida token em rotas protegidas
- Sistema de pagamento integrado
- Notificações em tempo real
- Sistema de chat aprimorado
- Geolocalização avançada
- Sistema de disputas
- API mobile
- Dashboard analítico
- Fork o projeto
- Crie uma branch para sua feature (
git checkout -b feature/nova-feature) - Commit suas mudanças (
git commit -m 'Adiciona nova feature') - Push para a branch (
git push origin feature/nova-feature) - Abra um Pull Request
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
BeeCo - Conectando profissionais e oportunidades! 🐝