Skip to content

trickaugusto/symfonyTest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Atividade em symfony

Objetivo: Desafio: Desenvolver uma API RESTful,com envio e retorno de informações no formato JSON, e banco de dados para um e-commerce qualquer contendo rotas para as funcionalidades abaixo.

  1. Produtos: Criar,editar e inativar os produtos da loja. Também deve ser possível listá-los, sejam eles ativos ou inativos, retornando as informações ID, descrição,valor e status do produto.
  2. Usuário: Criar,editar e inativar os usuários da API.Também deve ser possível listá-los, sejam eles ativos ou inativos,retornando as informações ID, nome, e-mail e status do usuário.
  3. Pedido: Criar, editar e inativar os pedidos da loja. Também deve ser possível listá-los sejam eles ativos, inativos, pagos e não pagos retornando as informações ID,número do pedido, status do pedido, produto, descrição do produto e usuário comprador.

Rotas:

Produtos

/products -> GET: Lista todos os produtos (id, description, price, status, createdAt e updatedAt);

/product/{id} -> GET: Lista um id em específico (id, description, price, status, createdAt e updatedAt);

/product -> POST: Cria um novo produto, esperando como request:

{
	"status": "Inativo",
	"price": 10.00,
	"description": "terceiro"
}

/product/{id} -> PATCH: Edita um produto existente, esperando como request:

{
	"status": "Ativo",
	"price": 10.00,
	"description": "terceiro"
}

Usuario

/users -> GET: Lista todos os usuarios cadastrados (id, name, email, status, createdAt e updatedAt);

/user/{id} -> GET: Lista um id em específico (id, name, email, status, createdAt e updatedAt);

/user -> POST: Cria um novo usuario, esperando como request:

{
	"name": "Jão",
	"email": "teste@gmail.com",
	"status": "ativo"
}

/user{id} -> PATCH: Edita um usuario existente, esperando como request:

{
	"name": "Jão",
	"email": "teste@gmail.com",
	"status": "inativo"
}

Pedido

/orders -> GET: Lista todos os pedidos cadastrados (id, orderNumber, status, productId, productDescription, userId, createdAt e updatedAt);

/order/{id} -> GET: Lista um id em específico

/order -> POST: Cria um novo pedido, esperando como request:

{
    "status": "inativo",
    "productId": "4",
    "userId": "5"
}

/order{id} -> PATCH: Edita um pedido existente, esperando como request:

{
    "status": "ativo",
    "productId": "4",
    "userId": "5"
}

Rodando localmente

Clonando o projeto:

git clone git@github.com:trickaugusto/symfonyTest.git

Vá para o diretório:

cd symfonyTest

OBS: Antes dos próximos passos, é importante criar um novo arquivo com nome '.env', usando como base o arquivo '.env example'. Depois só procurar essa linha: 'DATABASE_URL=mysql://db_user:db_password@127.0.0.1:3306/db_name', substituindo as seguintes informações: db_user, db_password e dbname, para as informações do seu local.

Instalando as dependências:

composer install

Criando a base no banco:

php bin/console doctrine:database:create

Criando as migrations:

php bin/console doctrine:migrations:migrate

Digite "yes" no terminal para os dois comandos acima.

Rodando o projeto

php -S 127.0.0.1:8080 -t public/

Agora só abrir um insomnia da vida e ser feliz!

Diagrama de classes:

UML

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages