Interface amigável para visualização de vídeos e cursos armazenados no Google Drive
Funcionalidades • Tecnologias • Instalação • Desenvolvimento • Sobre
- 🔐 Autenticação Segura - Login integrado com Google OAuth
- 📁 Organização Inteligente - Listagem de vídeos organizados por pastas
- 🎥 Player Integrado - Reprodução de vídeos diretamente na interface
- 📱 Design Responsivo - Interface adaptável para todos os dispositivos
- 🌓 Tema Adaptativo - Suporte a temas claro e escuro
- 💾 Cache Local - Carregamento rápido de conteúdo já visualizado
- 👥 Multi-usuário - Suporte para múltiplos usuários com isolamento de dados
- 💰 Planos e Assinaturas - Sistema de planos com diferentes níveis de acesso
- 📋 Lista de Espera - Sistema de lista de espera para novos usuários
- 💰 Pagamentos Crypto - Processamento de pagamentos em USDT via TANOS
- 🛡️ Segurança Blockchain - Trocas atômicas com tecnologia TANOS
- Node.js - Ambiente de execução
- Fastify - Framework web
- MySQL - Banco de dados
- Prisma - ORM para banco de dados
- JWT - Autenticação
- TypeScript - Linguagem de programação
- Zod - Validação de dados
- TANOS - Trocas atômicas Bitcoin/Nostr
- Next.js - Framework React
- React - Biblioteca UI
- Tailwind CSS - Framework CSS
- TypeScript - Linguagem de programação
- NextAuth.js - Autenticação para Next.js
- Axios - Cliente HTTP
- Zustand - Gerenciamento de estado
- Node.js 18+
- MySQL 8+
- Conta Google com acesso ao Drive
- Credenciais do Google Cloud Platform
- Clone o repositório
git clone https://github.com/seu-usuario/drivetube.git
cd drivetube- Configure o Backend
cd backend
npm install
cp .env.example .env- Configure o Frontend
cd ../frontend
npm install
cp .env.example .env- Configure as Credenciais
Edite os arquivos .env com suas configurações:
# Backend
DATABASE_URL="mysql://user:password@localhost:3306/drivetube"
JWT_SECRET="seu_jwt_secret"
GOOGLE_CLIENT_ID="seu_client_id"
GOOGLE_CLIENT_SECRET="seu_client_secret"
GOOGLE_REDIRECT_URI="http://localhost:3333/auth/google/callback"
# Crypto Payments (TANOS)
CRYPTO_WALLET_ADDRESS="0xFf83fE987a944CBe235dea1277d0B7D9B7f78424"
TANOS_API_URL="https://api.tanos.dev"
BSC_SCAN_API_KEY="seu_bscscan_api_key"
ETHERSCAN_API_KEY="seu_etherscan_api_key"
# Frontend
NEXT_PUBLIC_API_URL="http://localhost:3333"
GOOGLE_CLIENT_ID="seu_client_id"
GOOGLE_CLIENT_SECRET="seu_client_secret"
NEXTAUTH_SECRET="seu_nextauth_secret"
NEXTAUTH_URL="http://localhost:3000"- Configure o banco de dados
cd backend
npm run prisma:migrate
npm run prisma:seed- Inicie o Backend
cd backend
npm run dev- Inicie o Frontend
cd frontend
npm run devAcesse http://localhost:3000 no seu navegador.
drivetube/
├── 📂 backend/
│ ├── 📂 prisma/
│ │ ├── 📂 migrations/
│ │ ├── 📄 schema.prisma
│ │ └── 📄 seed.ts
│ ├── 📂 src/
│ │ ├── 📂 controllers/
│ │ ├── 📂 database/
│ │ ├── 📂 middlewares/
│ │ ├── 📂 routes/
│ │ ├── 📂 services/
│ │ │ └── 📄 CryptoPaymentService.ts
│ │ ├── 📂 types/
│ │ └── 📄 server.ts
│ ├── 📄 package.json
│ └── 📄 tsconfig.json
│
└── 📂 frontend/
├── 📂 app/
│ ├── 📂 api/
│ ├── 📂 components/
│ ├── 📂 config/
│ ├── 📂 hooks/
│ ├── 📂 landing/
│ ├── 📂 planos/
│ ├── 📂 types/
│ ├── 📂 videos/
│ ├── 📂 waitlist/
│ └── 📄 page.tsx
├── 📂 public/
└── 📄 package.json
- Faça um fork do projeto
- Crie uma branch para sua feature (
git checkout -b feature/nova-feature) - Faça commit das alterações (
git commit -m 'Adiciona nova feature') - Faça push para a branch (
git push origin feature/nova-feature) - Abra um Pull Request
Este projeto está sob a licença GNU Affero General Public License v3.0 (AGPL-3.0). Veja o arquivo LICENSE para mais detalhes.
O drivetube nasceu da necessidade de uma interface intuitiva para consumo de conteúdo educacional armazenado no Google Drive. Embora o Drive seja excelente para armazenamento, sua interface não é otimizada para visualização sequencial de vídeos e cursos.
- Facilitar a navegação entre módulos e aulas
- Oferecer experiência similar a plataformas de cursos online
- Manter a organização e segurança do Google Drive
- Proporcionar reprodução de vídeos sem necessidade de download
- Permitir monetização através de planos de assinatura
- Oferecer acesso gratuito para os primeiros 500 usuários
- Implementar isolamento de dados entre usuários
- Acesse o Google Cloud Console
- Crie um novo projeto
- Ative a Google Drive API
- Configure as credenciais OAuth 2.0
- Adicione as credenciais ao arquivo
.env.local
- Documentação Next.js
- Documentação Google Drive API
- Documentação Prisma
- Documentação NextAuth.js
- Sistema de Pagamentos Crypto
- Documentação TANOS
- Guia de Contribuição
- Changelog
Desenvolvido com 💛 por ASIMOV TECH