Plataforma de Conectividade para Transporte Universitário
O GoCampus é uma solução inovadora que conecta estudantes universitários a empresas de transporte, facilitando a busca, avaliação e escolha dos melhores serviços de transporte para suas necessidades acadêmicas.
- Sobre o Projeto
- Funcionalidades
- Tecnologias
- Arquitetura
- Pré-requisitos
- Instalação
- Configuração
- Uso
- Estrutura do Projeto
- Contribuição
- Licença
O GoCampus resolve um problema real enfrentado por estudantes universitários: encontrar transporte confiável e adequado para suas rotinas acadêmicas. A plataforma oferece uma interface intuitiva onde usuários podem:
- Buscar empresas de transporte que atendem suas universidades
- Avaliar serviços baseado em experiências reais
- Filtrar opções por região, universidade e rotas disponíveis
- Comparar empresas através de avaliações e comentários
Para empresas de transporte, o GoCampus representa uma oportunidade de:
- Aumentar visibilidade no mercado universitário
- Gerenciar rotas de forma eficiente
- Receber feedback direto dos usuários
- Expandir clientela através de uma plataforma digital
- 🔍 Busca Inteligente: Encontre empresas por universidade, região ou rota específica
- ⭐ Sistema de Avaliações: Avalie empresas com notas de 1-5 estrelas e comentários
- 📍 Filtros Avançados: Filtre por localização, universidade e tipo de serviço
- 🗺️ Visualização de Rotas: Veja todas as rotas disponíveis de cada empresa
- 📱 Interface Responsiva: Acesse de qualquer dispositivo com design adaptativo
- 📝 Cadastro Completo: Registre sua empresa com informações detalhadas
- 🛣️ Gerenciamento de Rotas: Adicione, edite e remova rotas conforme necessário
- 📊 Dashboard de Performance: Acompanhe avaliações e feedback dos usuários
- 📈 Visibilidade Digital: Aumente sua presença no mercado universitário
- Flutter 3.5.3+ - Framework cross-platform para desenvolvimento mobile
- Dart 3.5.3+ - Linguagem de programação moderna e type-safe
- Material Design 3 - Design system do Google para interfaces consistentes
- Java - Linguagem principal do servidor backend
- Kotlin - Implementação nativa Android com MethodChannel
- Socket TCP - Comunicação cliente-servidor via rede
- MongoDB - Banco de dados NoSQL para flexibilidade de dados
- Firebase Authentication - Sistema de autenticação seguro
- Firebase Core - Configuração e inicialização dos serviços Firebase
- MethodChannel - Ponte de comunicação Flutter-Nativo
dependencies:
firebase_core: ^3.6.0
firebase_auth: ^5.3.1
http: ^1.2.2
shared_preferences: ^2.0.15
flutter_rating_bar: ^4.0.1
intl: ^0.19.0O projeto segue uma arquitetura híbrida que combina:
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Flutter App │ │ MethodChannel │ │ Java Server │
│ (Frontend) │◄──►│ (Bridge) │◄──►│ (Backend) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │ │
│ │ │
▼ ▼ ▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Firebase Auth │ │ Socket TCP │ │ MongoDB │
│ (Auth Service) │ │ (Network) │ │ (Database) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
- Flutter UI: Interface do usuário com Material Design
- MethodChannel: Comunicação entre Flutter e código nativo
- Kotlin Bridge: Implementação Android com conexão TCP
- Java Server: Backend com operações CRUD
- MongoDB: Armazenamento persistente de dados
- Flutter SDK 3.5.3 ou superior
- Dart SDK 3.5.3 ou superior
- Android Studio ou VS Code com extensões Flutter
- Git para controle de versão
- macOS 10.15+ / Windows 10+ / Linux Ubuntu 18.04+
- Java JDK 8 ou superior
- MongoDB 4.4+ instalado e rodando
- Node.js 14+ (para Firebase CLI)
- Android 5.0+ (API 21+)
- iOS 12.0+ (se desenvolvendo para iOS)
git clone https://github.com/seu-usuario/goCampus.git
cd goCampusflutter pub get# Instale o Firebase CLI
npm install -g firebase-tools
# Faça login no Firebase
firebase login
# Configure o projeto
firebase init# Certifique-se de que o servidor Java está rodando na porta 3000
# O arquivo SERVIDORMAVEN-1.0-SNAPSHOT.jar deve estar em android/app/libs/- Crie um projeto no Firebase Console
- Adicione aplicações Android e iOS
- Baixe os arquivos de configuração:
google-services.json→android/app/GoogleService-Info.plist→ios/Runner/
// android/app/src/main/kotlin/com/example/go_campus/MainActivity.kt
val host = "10.0.2.2" // Para emulador Android
val porta = 3000 // Porta do servidor Java# Crie um arquivo .env na raiz do projeto
FIREBASE_PROJECT_ID=seu-projeto-id
MONGODB_URI=sua-uri-mongodb
SERVER_HOST=seu-host-servidor
SERVER_PORT=3000# Modo debug
flutter run
# Modo release
flutter run --release
# Para plataforma específica
flutter run -d android
flutter run -d ios# Android APK
flutter build apk --release
# Android App Bundle
flutter build appbundle --release
# iOS
flutter build ios --release- Tela de inicialização com logo do GoCampus
- Redirecionamento automático baseado no estado de autenticação
- Login com email/senha via Firebase
- Registro de usuários (pessoa física/empresa)
- Recuperação de senha
- Busca por empresa, região ou universidade
- Filtros avançados por tipo de serviço
- Resultados ordenados por relevância
- Sistema de rating com 5 estrelas
- Comentários e feedback detalhado
- Histórico de avaliações por usuário
goCampus/
├── 📱 lib/ # Código principal Flutter
│ ├── 📄 main.dart # Ponto de entrada da aplicação
│ ├── 🎨 splash_screen.dart # Tela de inicialização
│ ├── 🔐 login_screen.dart # Tela de login
│ ├── 📝 register_screen.dart # Tela de registro
│ ├── 🔍 search_screen.dart # Tela de busca
│ ├── 🏢 company_screen.dart # Lista de empresas
│ ├── 📋 company_details_screen.dart # Detalhes da empresa
│ ├── ⭐ company_evaluation_screen.dart # Avaliações
│ ├── ⚙️ firebase_options.dart # Configuração Firebase
│ └── 🔧 services/ # Serviços da aplicação
│ ├── 🔐 auth_service.dart # Autenticação
│ ├── 📝 register_service.dart # Registro
│ └── 📅 date_picker_service.dart # Seleção de datas
├── 🤖 android/ # Configurações Android
│ └── app/
│ ├── 📱 src/main/kotlin/ # Código nativo Kotlin
│ ├── 📦 libs/ # Bibliotecas JAR
│ └── ⚙️ build.gradle # Configuração de build
├── 🍎 ios/ # Configurações iOS
├── 🐧 linux/ # Configurações Linux
├── 🪟 windows/ # Configurações Windows
├── 🌐 web/ # Configurações Web
├── 📦 assets/ # Recursos estáticos
├── 🧪 test/ # Testes automatizados
├── 📋 pubspec.yaml # Dependências Flutter
├── 🔥 firebase.json # Configuração Firebase
└── 📖 README.md # Este arquivo
pubspec.yaml: Dependências e configurações Flutterfirebase.json: Configuração do Firebaseandroid/app/build.gradle: Configuração de build Androidandroid/app/src/main/kotlin/.../MainActivity.kt: Bridge nativo Android
Contribuições são sempre bem-vindas! Para contribuir:
git fork https://github.com/seu-usuario/goCampus.gitgit checkout -b feature/NovaFuncionalidadegit commit -m 'Adiciona nova funcionalidade'git push origin feature/NovaFuncionalidade- Siga o padrão de código Dart/Flutter
- Adicione testes para novas funcionalidades
- Mantenha a documentação atualizada
- Use commits semânticos (feat:, fix:, docs:, etc.)
Este projeto está licenciado sob a Licença MIT - veja o arquivo LICENSE para detalhes.
- Issues: GitHub Issues
- Discord: Servidor da Comunidade
- Email: suporte@gocampus.com
- Flutter Team pelo framework incrível
- Firebase pelos serviços de backend
- Comunidade Flutter pelo suporte contínuo
- Contribuidores que ajudaram a tornar este projeto realidade