Mini projeto React para visualização de arquivos Excel com autenticação Firebase.
excel-viewer-app/ ├── public/ │ └── index.html ├── src/ │ ├── components/ │ │ ├── Login.js ← Página de login │ │ ├── Upload.js ← Painel de upload (só admin) │ │ └── View.js ← Visualização de Excel (todos logados) │ ├── App.js ← Roteamento principal │ ├── firebase.js ← Configuração Firebase │ ├── index.js ← Entry point │ └── index.css ← Estilos ├── firebase.json ← Config Firebase Hosting ├── storage.rules ← Regras Firebase Storage └── package.json
## Fluxo da Aplicação
1. **Login** (`/`) - Usuário informa email e senha
2. **Redirecionamento automático após login:**
- Se email está na lista `ADMIN_EMAILS` → vai para `/upload`
- Senão → vai para `/view`
3. **Upload** (`/upload`) - Só admins podem enviar arquivos Excel
4. **Visualização** (`/view`) - Todos logados podem ver os arquivos
## Configuração
### 1. Firebase Setup (só para Authentication)
1. Crie um projeto no [Firebase Console](https://console.firebase.google.com)
2. Ative Authentication (Email/Password)
3. Copie as configurações e cole em `src/firebase.js`
### 2. Supabase Setup (para Storage)
1. Crie uma conta no [Supabase](https://supabase.com)
2. Crie um novo projeto
3. Vá em Storage → Create Bucket → Nome: `excel-files`
4. Configure as políticas de acesso (RLS)
5. Copie URL e anon key para `src/firebase.js`:
```javascript
export const SUPABASE_CONFIG = {
url: 'https://seu-projeto.supabase.co',
anonKey: 'sua-anon-key-aqui'
};
Edite a lista ADMIN_EMAILS em src/firebase.js:
export const ADMIN_EMAILS = [
'seu-admin@email.com',
'outro-admin@email.com'
];npm install
npm startnpm run build
firebase deploy-
✅ Funcionalidades
-
✅ Login com Firebase Auth
-
✅ Controle de acesso (admin vs usuário comum)
-
✅ Upload de arquivos Excel para GitHub (só admins)
-
✅ Visualização de Excel em tabela HTML
-
✅ Lista de arquivos disponíveis
-
✅ Storage gratuito e ilimitado via GitHub
-
✅ Logout
-
✅ Responsivo
- React 18
- Firebase (só Authentication)
- Supabase (Storage de arquivos)
- React Router
- XLSX (para ler arquivos Excel)