Sistema web integrado ao Telegram para gestão de recursos, empréstimos e atividades da Ameciclo (Associação Metropolitana de Ciclistas do Recife).
- Framework: Remix (React + Vite)
- Estilização: Tailwind CSS
- Backend: Firebase (Firestore)
- Integração: Telegram Web App SDK
- Autenticação: Google OAuth + Telegram
- Linguagem: TypeScript
- Sistema de permissões por categoria de usuário
- Interface responsiva integrada ao Telegram
- Modo de desenvolvimento para testes
- Acervo público com busca por título/autor
- Sistema de empréstimos para AMECICLISTAS
- Gestão de solicitações e devoluções
- Estatísticas públicas de empréstimos
- 188 livros catalogados
- Empréstimo de bicicletas da Ameciclo
- Controle de disponibilidade
- Sistema de aprovação por coordenadores
- Histórico de empréstimos
- Controle de itens do inventário geral
- Categorização: oficina, mobiliário, eletrônicos, etc.
- Sistema de solicitação e aprovação
- Busca e filtros por categoria
- Vendas de produtos (camisas, broches, cervejas, etc.)
- Sistema de doações
- Pagamentos via PIX
- Controle de estoque por variação
- Relatórios de vendas
- Solicitação de pagamentos
- Gestão de fornecedores
- Controle de projetos e orçamentos
- Cadastro e categorização de usuários
- Grupos de trabalho
- Links úteis organizados
- Criação de eventos
| Categoria | Descrição |
|---|---|
ANY_USER |
Usuários não cadastrados (acesso básico) |
AMECICLISTAS |
Membros da Ameciclo |
PROJECT_COORDINATORS |
Coordenadores de projetos |
AMECICLO_COORDINATORS |
Coordenação geral |
RESOURCES_COORDINATOR |
Coordenador de recursos |
DEVELOPMENT |
Modo desenvolvimento |
app/
├── api/ # Integrações externas
│ ├── cms.server.ts # CMS Strapi
│ ├── firebaseAdmin.server.js
│ ├── firebaseConnection.server.js
│ └── googleService.ts # Google Sheets API
├── components/ # Componentes React
│ ├── Forms/ # Formulários e inputs
│ └── [diversos].tsx # Componentes específicos
├── handlers/ # Lógica de negócio
│ ├── actions/ # Ações do servidor
│ └── loaders/ # Carregamento de dados
├── routes/ # Páginas da aplicação
├── utils/ # Utilitários e tipos
└── [arquivos raiz] # Configurações Remix
public/ # Assets estáticos
scripts/ # Scripts de migração/população
Requisitos: Node.js >= 20.0.0
# Instalar dependências
npm i
# Configurar variáveis de ambiente
cp .env.example .env
# Editar .env com suas credenciais
# Popular dados iniciais (opcional)
node scripts/populate-products.js
node scripts/populate-inventario.js# Servidor de desenvolvimento
npm run dev
# Verificar tipos
npm run typecheck
# Linting
npm run lint# Build para produção
npm run build
# Executar em produção
npm startArquivos de deploy:
build/server- Servidorbuild/client- Cliente
- Configure o projeto no Firebase Console
- Ative Firestore Database
- Configure Authentication (Google)
- Adicione credenciais no
.env
- Crie um bot via @BotFather
- Configure o Web App URL
- Adicione o token no
.env
- Configure Google Cloud Console
- Ative Sheets API
- Adicione credenciais de serviço
- Sistema de Biblioteca
- Recursos Independentes
- Registro de Empréstimos
- Correções da Biblioteca
- Testes de Desenvolvimento
# Popular produtos para venda
node scripts/populate-products.js
# Popular inventário
node scripts/populate-inventario.js
# Migrar dados de usuários
node scripts/migrate-user-data.jsUtiliza Tailwind CSS com configuração customizada para:
- Cores da identidade Ameciclo
- Componentes responsivos
- Tema escuro/claro automático
- Integração com Telegram Web App
- Telegram Web App: Interface nativa no Telegram
- Firebase: Banco de dados e autenticação
- Google Sheets: Sincronização de dados
- Strapi CMS: Gestão de conteúdo
- PIX: Pagamentos via QR Code
- Acesse via bot do Telegram da Ameciclo
- Faça login com sua conta Google (se necessário)
- Navegue pelas funcionalidades conforme suas permissões
- Para desenvolvimento, use o modo dev integrado
Este é um sistema interno da Ameciclo. Para contribuições:
- Contate a coordenação técnica
- Siga os padrões de código estabelecidos
- Teste em modo desenvolvimento
- Documente novas funcionalidades
Sistema proprietário da Ameciclo - Associação Metropolitana de Ciclistas do Recife.