Desenvolvido por Marcos R C Martins - marcosrcmartins@gmail.com
Bem-vindo ao projeto desenvolvido em Yii2 Basic Template, totalmente configurado, migrado e populado automaticamente por meio de seeders. Este projeto foi criado para demonstrar domínio do framework, boas práticas de arquitetura e organização de código.
- Login real baseado na tabela
user - Usuário inicial criado pelos seeders
- Hash de senha seguro gerado pelo Yii
Credenciais geradas automaticamente pelos seeders:
- Usuário: admin
- Senha: admin123
- Seeder cria 200 clientes
- Seeder cria 300 pessoas
- Cada pessoa é vinculada automaticamente a um cliente
- Tela que lista clientes + suas pessoas (Eager Loading)
- Cache aplicado ao carregamento de clientes
- Invalidação automática quando clientes ou pessoas são alterados
As tabelas pertencem ao banco enviado e não são recriadas pelas migrations.
userproduct_typeproductcustomerpersoncustomer_person
- 10 tipos de produto (
product_type) - 1 usuário admin (
user) - 50 produtos (
product) - 200 clientes (
customer) - 300 pessoas com vínculos (
person+customer_person)
- PHP 8+
- Yii2 Framework (Basic)
- MySQL / MariaDB
- Bootstrap
- FileCache
git clone https://github.com/marcosmultisite/TestY2php.git
-
Acesse a pasta: cd TestY2php
-
Realize o download das bibliotecas do framework com o comando: composer install
Neste caso o banco de dados Mysql deve estar instalado e funcional com o serviço disponível para uso. O arquivo DDL para geração do banco de dados está na pasta scriptdb/database-test.sql, que deve ser aplicado no banco de dados. Após aplicado, eerá criado um banco de dados chamado default_schema, primeiro tem que gerar esse banco de dados com tabelas sem registros, para o procedimento de migration.
Uma vez o banco de dados gerado, edite o arquivo config/db.php:
Neste caso o arquivo pode não existir, mas basta criar um novo e preencher com a configuração do seu banco de dados Mysql alterando a configuração conforme abaixo:
return [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=default_schema',
'username' => 'usuario_do_banco',
'password' => 'a_senha_se_tiver',
'charset' => 'utf8',
]
php yii migrate --migrationPath=@app/migrations --interactive=0
cd web/
php -S 0.0.0.0:9000
Acesse no seu browser http://<SEU.IP.LOCAL.ROUTER>:9000
Os dados de login são:
Usuário: admin
Senha: admin123
Autenticação via banco, hash de senha e auth_key.
Acesso rápido para:
- Criar Produto
- Listar Produtos
- Listar Clientes e Pessoas
Campos:
- Nome
- Tipo (drop-down)
- Preço
- Descrição
- Código gerado automaticamente
Inclui:
- Nome
- Idade
- Data de Nascimento
- Pessoas vinculadas
- Parentesco
- Idade das pessoas
- Cache aplicado na listagem de clientes
- Invalidação automática ao alterar clientes ou pessoas
controllers/
models/
views/
migrations/
config/
web/
runtime/
vendor/
Este projeto entrega 100% dos requisitos técnicos solicitados:
✔ Login funcional
✔ Módulo completo de produtos
✔ Códigos automáticos
✔ Relacionamento cliente–pessoa
✔ Migrations e Seeds
✔ Cache + invalidação
✔ Código limpo e organizado