EcoEscambo é uma plataforma web para troca de produtos, promovendo uma troca sem uso de dinheiro. A plataforma permite que usuários cadastrem seus produtos e realizem trocas com outros usuários de forma segura e organizada.
/controllers- Controladores da aplicaçãoController.php- Controlador basedbController.php- Gerenciamento do banco de dadosMessagesController.php- Gerenciamento de mensagensProductsController.php- Gerenciamento de produtosuserController.php- Gerenciamento de usuários
/models- Modelos e componentesmodalSelecionarProduto.php- Modal para seleção de produtosmodalTrocarProduto.php- Modal para troca de produtosnavbarRouter.php- Roteamento da barra de navegação
/views- Views da aplicaçãodashboard.php- Painel do usuáriomaster.php- Template principalprodutos.php- Listagem de produtostrocas.php- Página de trocas
/static/js- Scripts/css- Arquivos de estilo/uploads- Arquivos enviados pelos usuários
/router- Sistema de roteamento
- PHP 7.4+
- MySQL
- HTML5
- CSS3
- JavaScript
- Bootstrap 5
- PDO para conexão com banco de dados
- ✅ Cadastro e autenticação de usuários
- ✅ Cadastro, edição e exclusão de produtos
- ✅ Sistema de trocas entre usuários
- ✅ Upload de imagens de produtos
- ✅ Dashboard com produtos do usuário
- ✅ Sistema de notificações via modais
- ✅ Validação de dados e segurança
- ✅ Interface responsiva com Bootstrap
- ✅ Filtros com nome e categoria na página de produtos
- ✅ Filtros com nome e categoria no inventário
- ✅ Implementação de AJAX para filtros
- ✅ Paginação de produtos (carregar mais 10 produtos)
- ✅ Implementação de AJAX para o carregar mais
- 🔄 Chat entre usuários que realizaram troca
- 🔄 Testes Unitários com PHPUnit e PHPStan
- 🔄 Página do usuario
- 🔄 E-mail de recuperação de Senha
- Clone o repositório
- Configure o banco de dados MySQL
- Importe o arquivo SQL para criar as tabelas necessárias
- Configure as credenciais do banco em
app/controllers/dbController.php - Acesse o projeto através do servidor web
users- Tabela de usuáriosid- Identificador úniconome- Nome do usuárioemail- Email do usuáriosenha- Senha criptografada
categorias- Tabela de categorias de produtosid- Identificador úniconome- Nome da categoria (único)
produtos- Tabela de produtosid- Identificador úniconome- Nome do produtodescricao- Descrição do produtofk_categoria- Categoria do produto (referência à tabela categorias)img- Caminho da imagemidUser- Usuário dono do produto (referência à tabela users)
troca- Tabela de trocasid- Identificador únicoidUserDesejado- Usuário que deseja o produtoidUser- Usuário que oferece o produtoidProdDesejado- Produto desejadoidProdUser- Produto oferecidoStatus- Status da troca (0: pendente, 1: confirmada, -1: rejeitada)
Para contribuir com o projeto:
- Faça um fork do repositório
- Crie uma branch para sua feature (
git checkout -b feature/nova-feature) - Commit suas mudanças (
git commit -m 'Adiciona nova feature') - Push para a branch (
git push origin feature/nova-feature) - Abra um Pull Request