Skip to content

Bruhnodev17/intern-challenge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Descrição do Desafio: CRUD de Produto com Angular, TypeScript, PHP, Laravel e PostgreSQL

Neste desafio, você será responsável por desenvolver um aplicativo de CRUD (Create, Read, Update, Delete) de produtos, utilizando uma arquitetura desacoplada entre o frontend e o backend. O frontend será desenvolvido em Angular, utilizando TypeScript como linguagem de programação, enquanto o backend será desenvolvido em PHP Laravel. O banco de dados utilizado será o PostgreSQL.

Requisitos do CRUD de Produto:

  1. O aplicativo deverá permitir a criação, leitura, atualização e exclusão de produtos.

  2. Os campos do produto são os seguintes:

    • Nome do Produto: uma string que representa o nome do produto.
    • Categoria: uma chave estrangeira que referencia a categoria à qual o produto pertence.
    • Valor do Produto: um número de ponto flutuante que representa o valor monetário do produto.
    • Data de Vencimento: uma data que indica a data limite de validade do produto.
    • Quantidade em Estoque: um número inteiro que representa a quantidade disponível em estoque.
    • Produto Perecível: um valor booleano que indica se o produto é perecível ou não.
  3. O frontend deverá apresentar uma interface amigável ao usuário, permitindo que ele visualize, crie, edite e exclua produtos. Será necessário criar formulários para a criação e edição de produtos, além de exibir a lista de produtos existentes.

  4. O backend deverá fornecer uma API RESTful para o frontend se comunicar. Será necessário implementar rotas para criar, ler, atualizar e excluir produtos no banco de dados PostgreSQL.

  5. O banco de dados PostgreSQL será responsável pelo armazenamento persistente dos produtos. Será necessário criar uma estrutura de tabelas que representam os campos mencionados acima, bem como estabelecer relacionamentos entre as tabelas, como a relação entre produto e categoria.

Sugestões adicionais:

  • Considere implementar validações nos formulários para garantir a integridade dos dados, como a verificação de campos obrigatórios e restrições de tipos.
  • Utilize boas práticas de codificação, seguindo os padrões estabelecidos pela comunidade Angular, TypeScript e Laravel.
  • Você pode utilizar bibliotecas e frameworks adicionais para facilitar o desenvolvimento, desde que sejam compatíveis com a pilha de tecnologias escolhidas.
  • Lembre-se de documentar seu código e fornecer instruções claras sobre como executar a aplicação.

Como entregar:

  • Publicar o projeto no GitHub com a seguinte estrutura de pastas:
    • backend
    • db
    • frontend
    • README

Certifique-se de seguir essas orientações ao criar e entregar seu projeto. Boa sorte!

COMO EXECUTAR A APLICAÇÃO:

BACKEND     

1- Abra primeiramente o arquivo backend em seu editor de código;
2- Inicie um novo terminal pelo seu editor e use o comando: composer install,e instalar todas as dependências necessárias para rodar seu projeto;
3- Finalmente use o comando php artisan serve, e pronto, a API estará rodando!
4- Caso não ocorra nenhum erro em sua máquina, use o POSTMAN para testar a API e suas requisições, por exemplo, com esse endereço:

Captura de Tela 2024-04-09 às 13 32 36
5- Se você recebeu algum erro, certifique-se de ter instalado globalmente o composer e o php instalado de forma global em sua máquina!

FRONTEND

1- Abra em uma nova janela de seu editor de código o arquivo frontend, certifique-se de deixar o backend rodando!;
2- Inicie um novo terminal dentro de seu editor e use o comando npm install eter todas as dependências necessárias para rodar seu projeto;
3- Execute finalmente o comando ng serve e pronto, seu frontend estará rodando; 4- Caso não ocorra nenhum erro, cheque se a página está abrindo corretamente:
Captura de Tela 2024-04-09 às 13 52 39

5-Caso receba algum erro, certifique-se de ter instalado globalmente em sua máquina o npm;
6- Se a sua página abriu, as aplicações estão interligadas e funcionando de forma dinâmica!


POSTGRESsql

Para executar o backend no banco de dados POSTGRES, vá na pasta do backend em seu arquivo ".env" copie e cole este comando acima das linhas 11 a 16:

    DB_CONNECTION=pgsql
    DB_HOST=127.0.0.1
    DB_PORT=5433
    DB_DATABASE=postgres
    DB_USERNAME=postgres
    DB_PASSWORD=1234

Voce cria uma nova database com o nome postgre em seu PGAdmin, com a senha 1234 e tenta conectar clicando 2 vezes nela:

Captura de Tela 2024-04-09 às 14 12 16

Quando conseguir navegar entre as tabelas, vá até o caminho especificado abaixo (Tables/produto):

Captura de Tela 2024-04-09 às 15 37 24

Navegue até a tabela de produtos conforme abaixo e crie as tabelas para vê-las de forma dinâmica em seu banco de dados!

Captura de Tela 2024-04-09 às 14 18 28

Pronto! agora você consegue persistir de forma dinâmica, os seus produtos, na interface(frontend), no backend(API RESTFULL) e no banco de dados(POSTGRESSQL), criando, deletando, editando e persistindo suas propriedades criadas como quiser!

Feito por: https://github.com/Bruhnodev17

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published