Portal de notícias e web rádio da Rede Akiba, trazendo uma experiência renovada para fãs da cultura japonesa desde 2016.
Rede Akiba ( Akiba V2 ) é uma aplicação Laravel para gerenciar uma plataforma de comunidade e rádio focada em cultura anime. O projeto combina uma experiência pública de player com pedidos de músicas e um painel privado para conteúdo, programação, locução ao vivo, mídias, materiais de marketing, usuários, permissões e tarefas operacionais.
- Backend: PHP 8.2, Laravel 12
- Frontend: JavaScript, Inertia, Svelte, Tailwind
- Banco de dados: MySQL
- Página pública com player e suporte a pedidos de músicas
- Painel privado com autenticação
- Dashboard com atividades e conclusão de tarefas
- Gerenciamento de posts, reviews, eventos, podcasts, mídias e materiais de marketing
- Gerenciamento da rádio para programas, rankings de músicas, ouvinte do mês e pedidos de músicas
- Fluxo de locução ao vivo para iniciar e finalizar transmissões
- Área de administração para usuários, funções, permissões, calendários, atividades, tarefas e programas automáticos
- Gerenciamento de perfil
- Endpoints de cast para redirecionamento de stream e metadados
- Integração com webhook do Discord para eventos da stream
- Docker
- Docker Compose
Clone o repositório, copie o arquivo de ambiente e suba os containers:
cp .env.example .env
docker compose up -d --buildInstale as dependências dentro dos containers:
docker compose exec app composer install
docker compose exec node npm installPrepare a aplicação:
docker compose exec app php artisan key:generate
docker compose exec app php artisan migrate --seedSubir e parar o ambiente:
docker compose up -d
docker compose downComandos Laravel/PHP:
docker compose exec app php artisan migrate
docker compose exec app php artisan test
docker compose exec app composer install
docker compose exec app shComandos Node/NPM:
docker compose exec node npm install
docker compose exec node npm run dev
docker compose exec node npm run build
docker compose exec node node --version
docker compose exec node shO projeto inclui variáveis de ambiente extras para integrações com stream e Discord:
DISCORD_WEBHOOK_STREAM_NOTIFICATION=nullDISCORD_WEBHOOK_STREAM_NOTIFICATION: Defina esse valor quando quiser enviar notificações da stream por webhook.
app/Services- regras de negócio e operações de domínioapp/Integrations- clientes para serviços externos, APIs, webhooks e streamsapp/Processing- processamento interno reutilizável que não é regra de negócio diretaapp/Http/Controllers- controllers públicos, privados, de API e provisóriosapp/Http/Requests- validação de formuláriosapp/Http/Resources- formatação de respostas de API/resourcesapp/Models- Eloquent modelsapp/Policies- regras de autorizaçãoapp/Services- serviços externos e de processamentodatabase/seeders- dados iniciais e registros de desenvolvimentoresources/js/pages- páginas Inertia/Svelteresources/js/lib- layouts, componentes, widgets, stores, utils e constants do frontendroutes/web- rotas web separadas por contexto
A documentação do projeto fica em docs/ e é publicada localmente com VitePress. Comece pelo site em http://localhost:5174/ ou pelo arquivo docs/projeto/index.md.
Também é possível navegar a documentação com VitePress:
docker compose up -d docsOutros comandos disponíveis:
docker compose exec node npm run docs:build
docker compose exec node npm run docs:previewEste projeto é open-source sob a licença MIT.
