Este projeto é um CRUD Fullstack que utiliza .NET ASP.NET C# no backend e Angular no frontend, além de conceitos de HTML e CSS.
O projeto é organizado na seguinte estrutura de pastas:
project-fullstack
│── Backend (Projeto backend em .NET Web API)
│── Frontend (Projeto frontend em Angular)
│── project-teste-fullstack.sln (Solução do Visual Studio)
- Criação do repositório no GitHub e clonagem na máquina local.
- Criar o backend com Web API:
dotnet new webapi -n Backend
- Criar o frontend com Angular:
npx ng new Frontend
- O arquivo
project-teste-fullstack.slné criado para gerenciar múltiplos projetos na mesma solução do Visual Studio.
- Backend: .NET 9.0
- Frontend: Angular 13.4.0
- No frontend, instalar dependências:
npm install
- Se houver erro de
ExecutionPolicyao rodar o projeto, altere a política de execução:Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
- Adicionar Swagger para documentação da API:
dotnet add package Swashbuckle.AspNetCore
- Configurar Swagger no
Program.cs. - Configurar CORS no
Program.cspara permitir requisições do frontend. - Instalar Entity Framework Core:
dotnet add package Microsoft.EntityFrameworkCore dotnet add package Microsoft.EntityFrameworkCore.InMemory
- Estrutura do backend baseada em Arquitetura de Camadas:
- Camada de API: Controllers
- Modelos de Dados: Models
- Regras de Negócio: Services
- Camada de Acesso a Dados: Repositories
- Contexto do Banco de Dados: Data (banco em memória)
- Adicionar Angular Material:
ng add @angular/material
- Configurar módulos do Angular Material no
app.module.ts. - Importar
HttpClientModulenoapp.module.tspara consumir a API REST do backend. - Criar a pasta
servicesdentro deapppara armazenar os serviços. - Criar
api.service.tspara centralizar as requisições HTTP e configurar a URL do backend. - Utilizar o Prettier para formatação do código.
- Estilizar
app.componentcom SCSS e HTML. - Criar componentes
clienteseprodutos.
- GET
http://localhost:5000/api/clientes - GET
http://localhost:5000/api/clientes/{id} - POST
http://localhost:5000/api/clientes - PUT
http://localhost:5000/api/clientes/{id} - DELETE
http://localhost:5000/api/clientes/{id}
- GET
http://localhost:5000/api/produtos - GET
http://localhost:5000/api/produtos/{id} - POST
http://localhost:5000/api/produtos - PUT
http://localhost:5000/api/produtos/{id} - DELETE
http://localhost:5000/api/produtos/{id}
- Rodar o backend:
dotnet run
- Rodar o frontend:
ng serve
- Acessar a documentação das APIs via Swagger:
http://localhost:5000 - Acessar o frontend:
http://localhost:4300/
- CRUD completo para clientes e produtos.
- Exibição de dados com
mat-tabledo Angular Material, permitindo filtro, ordenação e paginação. - Backend baseado em Arquitetura de Camadas.
- API REST integrada ao frontend.