Adote um Pet é uma plataforma completa para adoção de animais, conectando ONGs, protetores e adotantes. O sistema possui API RESTful, painel web e integração em tempo real com app mobile (Flutter).
- Cadastro e autenticação de usuários (incluindo social login)
- Cadastro, listagem, filtro e busca de pets para adoção
- Upload de fotos dos pets
- Sistema de chat em tempo real (WebSocket via Laravel Reverb)
- Cadastro e gerenciamento de ONGs/parceiros
- Painel administrativo (web)
- API documentada com Swagger/OpenAPI
- Integração com app Flutter
- Backend: Laravel 11+, PHP 8.2+
- WebSocket: Laravel Reverb
- API Auth: Laravel Sanctum
- Banco de Dados: MySQL ou PostgreSQL
- Frontend: Blade + Tailwind + DaisyUI (web)
- Mobile: Flutter (consome a API)
- Documentação: OpenAPI/Swagger
-
Clone o repositório:
git clone https://github.com/tecrodrigocastro/adote_um_pet.git cd adote_um_pet -
Instale as dependências:
composer install
-
Copie o arquivo
.env.examplepara.enve configure as variáveis de ambiente (DB, Reverb, etc):cp .env.example .env php artisan key:generate
-
Execute as migrations:
php artisan migrate
-
(Opcional) Popule o banco com dados fake:
php artisan db:seed
-
Inicie o servidor Laravel:
php artisan serve
-
Inicie o servidor WebSocket (Reverb):
php artisan reverb:start
- Certifique-se de que o servidor Reverb está rodando (
php artisan reverb:start) - Use o app Flutter ou Laravel Echo (web) para se conectar ao canal privado do chat
- Mensagens enviadas via API aparecerão em tempo real para todos conectados ao mesmo chat
A documentação dos endpoints está disponível via Swagger/OpenAPI nas anotações dos controllers.
app/Http/Controllers/Chat/ChatController.php— Gerencia os chatsapp/Http/Controllers/Message/MessageController.php— Gerencia as mensagensapp/Events/MessageSent.php— Evento broadcast de mensagemresources/views/welcome.blade.php— Landing page webconfig/reverb.php— Configuração do WebSocket
Contribuições são bem-vindas! Abra uma issue ou envie um pull request.
MIT
