diff --git a/src/FIAP.TechChallenge.ByteMeBurger.Api/Controllers/ClientesController.cs b/src/FIAP.TechChallenge.ByteMeBurger.Api/Controllers/ClientesController.cs
new file mode 100644
index 0000000..81d886c
--- /dev/null
+++ b/src/FIAP.TechChallenge.ByteMeBurger.Api/Controllers/ClientesController.cs
@@ -0,0 +1,29 @@
+using FIAP.TechChallenge.ByteMeBurger.Application.UseCases;
+using FIAP.TechChallenge.ByteMeBurger.Domain.Entities;
+using Microsoft.AspNetCore.Mvc;
+
+namespace FIAP.TechChallenge.ByteMeBurger.Api.Controllers
+{
+ public class ClientesController : ControllerBase
+ {
+ private readonly IClienteUseCase _clienteUseCase;
+
+ public ClientesController(IClienteUseCase clienteUseCase)
+ {
+ _clienteUseCase = clienteUseCase;
+ }
+
+ [HttpGet]
+ public IActionResult Get(string cpf)
+ {
+ return Ok(_clienteUseCase.GetByCpf(cpf));
+ }
+
+
+ [HttpPost]
+ public IActionResult Post([FromBody] Cliente cliente)
+ {
+ throw new NotImplementedException();
+ }
+ }
+}
diff --git a/src/FIAP.TechChallenge.ByteMeBurger.Api/FIAP.TechChallenge.ByteMeBurger.Api.csproj b/src/FIAP.TechChallenge.ByteMeBurger.Api/FIAP.TechChallenge.ByteMeBurger.Api.csproj
index 078f43d..a0ad149 100644
--- a/src/FIAP.TechChallenge.ByteMeBurger.Api/FIAP.TechChallenge.ByteMeBurger.Api.csproj
+++ b/src/FIAP.TechChallenge.ByteMeBurger.Api/FIAP.TechChallenge.ByteMeBurger.Api.csproj
@@ -8,9 +8,9 @@
-
+
-
+
@@ -19,4 +19,9 @@
+
+
+
+
+
diff --git a/src/FIAP.TechChallenge.ByteMeBurger.Api/Program.cs b/src/FIAP.TechChallenge.ByteMeBurger.Api/Program.cs
index d7d2ac0..dcf0092 100644
--- a/src/FIAP.TechChallenge.ByteMeBurger.Api/Program.cs
+++ b/src/FIAP.TechChallenge.ByteMeBurger.Api/Program.cs
@@ -1,3 +1,6 @@
+using FIAP.TechChallenge.ByteMeBurger.Application.UseCases;
+using FIAP.TechChallenge.ByteMeBurger.Domain.Repositories;
+
namespace FIAP.TechChallenge.ByteMeBurger.Api;
public class Program
@@ -14,6 +17,12 @@ public static void Main(string[] args)
builder.Services.AddSwaggerGen();
builder.Services.AddControllers();
+ #region Injeção de dependências
+
+ //builder.Services.AddTransient();
+ builder.Services.AddTransient();
+ #endregion
+
var app = builder.Build();
// Configure the HTTP request pipeline.
diff --git a/src/FIAP.TechChallenge.ByteMeBurger.Application/FIAP.TechChallenge.ByteMeBurger.Application.csproj b/src/FIAP.TechChallenge.ByteMeBurger.Application/FIAP.TechChallenge.ByteMeBurger.Application.csproj
index 923c640..32364e0 100644
--- a/src/FIAP.TechChallenge.ByteMeBurger.Application/FIAP.TechChallenge.ByteMeBurger.Application.csproj
+++ b/src/FIAP.TechChallenge.ByteMeBurger.Application/FIAP.TechChallenge.ByteMeBurger.Application.csproj
@@ -8,8 +8,14 @@
+
+
+
+
+
+
diff --git a/src/FIAP.TechChallenge.ByteMeBurger.Application/UseCases/ClienteUseCase.cs b/src/FIAP.TechChallenge.ByteMeBurger.Application/UseCases/ClienteUseCase.cs
new file mode 100644
index 0000000..6ff64d3
--- /dev/null
+++ b/src/FIAP.TechChallenge.ByteMeBurger.Application/UseCases/ClienteUseCase.cs
@@ -0,0 +1,17 @@
+using FIAP.TechChallenge.ByteMeBurger.Domain.Entities;
+
+namespace FIAP.TechChallenge.ByteMeBurger.Application.UseCases
+{
+ public class ClienteUseCase : IClienteUseCase
+ {
+ public void AddCliente(Cliente cliente)
+ {
+ throw new NotImplementedException();
+ }
+
+ public Cliente GetByCpf(string cpf)
+ {
+ throw new NotImplementedException();
+ }
+ }
+}
diff --git a/src/FIAP.TechChallenge.ByteMeBurger.Application/UseCases/IClienteUseCase.cs b/src/FIAP.TechChallenge.ByteMeBurger.Application/UseCases/IClienteUseCase.cs
new file mode 100644
index 0000000..6192661
--- /dev/null
+++ b/src/FIAP.TechChallenge.ByteMeBurger.Application/UseCases/IClienteUseCase.cs
@@ -0,0 +1,11 @@
+using FIAP.TechChallenge.ByteMeBurger.Domain.Entities;
+
+namespace FIAP.TechChallenge.ByteMeBurger.Application.UseCases
+{
+ public interface IClienteUseCase
+ {
+ Cliente GetByCpf(string cpf);
+ void AddCliente(Cliente cliente);
+
+ }
+}
diff --git a/src/FIAP.TechChallenge.ByteMeBurger.Domain/Entities/Cliente.cs b/src/FIAP.TechChallenge.ByteMeBurger.Domain/Entities/Cliente.cs
new file mode 100644
index 0000000..bdf1204
--- /dev/null
+++ b/src/FIAP.TechChallenge.ByteMeBurger.Domain/Entities/Cliente.cs
@@ -0,0 +1,16 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace FIAP.TechChallenge.ByteMeBurger.Domain.Entities
+{
+ public class Cliente
+ {
+ public int Id { get; set; }
+ public string Nome { get; set; }
+ public string Email { get; set; }
+ public string Cpf { get; set; }
+ }
+}
diff --git a/src/FIAP.TechChallenge.ByteMeBurger.Domain/Entities/ItemPedido.cs b/src/FIAP.TechChallenge.ByteMeBurger.Domain/Entities/ItemPedido.cs
new file mode 100644
index 0000000..98a2d70
--- /dev/null
+++ b/src/FIAP.TechChallenge.ByteMeBurger.Domain/Entities/ItemPedido.cs
@@ -0,0 +1,16 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace FIAP.TechChallenge.ByteMeBurger.Domain.Entities
+{
+ public class ItemPedido
+ {
+ public int Id { get; set; }
+ public Produto Produto { get; set; }
+ public int Quantidade { get; set; }
+ public double Subtotal { get; set; }
+ }
+}
diff --git a/src/FIAP.TechChallenge.ByteMeBurger.Domain/Entities/Pedido.cs b/src/FIAP.TechChallenge.ByteMeBurger.Domain/Entities/Pedido.cs
new file mode 100644
index 0000000..0fa9a89
--- /dev/null
+++ b/src/FIAP.TechChallenge.ByteMeBurger.Domain/Entities/Pedido.cs
@@ -0,0 +1,22 @@
+using FIAP.TechChallenge.ByteMeBurger.Domain.Enums;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace FIAP.TechChallenge.ByteMeBurger.Domain.Entities
+{
+ public class Pedido
+ {
+ public int Id { get; set; }
+ public string Codigo { get; set; }
+ public string Status { get; set; }
+ public Cliente Cliente { get; set; }
+ public double PrecoTotal { get; set; }
+ public double ValorPago { get; set; }
+ public DateTime DataPagamento { get; set; }
+ public FormaPagamento FormaPagamento { get; set; }
+ public List Produtos { get; set; }
+ }
+}
diff --git a/src/FIAP.TechChallenge.ByteMeBurger.Domain/Entities/Produto.cs b/src/FIAP.TechChallenge.ByteMeBurger.Domain/Entities/Produto.cs
new file mode 100644
index 0000000..68fb184
--- /dev/null
+++ b/src/FIAP.TechChallenge.ByteMeBurger.Domain/Entities/Produto.cs
@@ -0,0 +1,20 @@
+using FIAP.TechChallenge.ByteMeBurger.Domain.Enums;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace FIAP.TechChallenge.ByteMeBurger.Domain.Entities
+{
+ public class Produto
+ {
+ public int Id { get; set; }
+ public string Codigo { get; set; }
+ public string Nome { get; set; }
+ public CategoriaProduto Categoria { get; set; }
+ public double Preco { get; set; }
+ public string Descricao { get; set; }
+ public List Imagens { get; set; } // Lista de URLs das imagens
+ }
+}
diff --git a/src/FIAP.TechChallenge.ByteMeBurger.Domain/Enums/CategoriaProduto.cs b/src/FIAP.TechChallenge.ByteMeBurger.Domain/Enums/CategoriaProduto.cs
new file mode 100644
index 0000000..835f527
--- /dev/null
+++ b/src/FIAP.TechChallenge.ByteMeBurger.Domain/Enums/CategoriaProduto.cs
@@ -0,0 +1,16 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace FIAP.TechChallenge.ByteMeBurger.Domain.Enums
+{
+ public enum CategoriaProduto
+ {
+ Lanche,
+ Acompanamento,
+ Bebida,
+ Sobremesa
+ }
+}
diff --git a/src/FIAP.TechChallenge.ByteMeBurger.Domain/Enums/FormaPagamento.cs b/src/FIAP.TechChallenge.ByteMeBurger.Domain/Enums/FormaPagamento.cs
new file mode 100644
index 0000000..3f5442b
--- /dev/null
+++ b/src/FIAP.TechChallenge.ByteMeBurger.Domain/Enums/FormaPagamento.cs
@@ -0,0 +1,13 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace FIAP.TechChallenge.ByteMeBurger.Domain.Enums
+{
+ public enum FormaPagamento
+ {
+ MercadoPago
+ }
+}
diff --git a/src/FIAP.TechChallenge.ByteMeBurger.Domain/FIAP.TechChallenge.ByteMeBurger.Domain.csproj b/src/FIAP.TechChallenge.ByteMeBurger.Domain/FIAP.TechChallenge.ByteMeBurger.Domain.csproj
index 0911f6a..434ded3 100644
--- a/src/FIAP.TechChallenge.ByteMeBurger.Domain/FIAP.TechChallenge.ByteMeBurger.Domain.csproj
+++ b/src/FIAP.TechChallenge.ByteMeBurger.Domain/FIAP.TechChallenge.ByteMeBurger.Domain.csproj
@@ -9,7 +9,8 @@
-
+
+
diff --git a/src/FIAP.TechChallenge.ByteMeBurger.Domain/Repositories/IClienteRepository.cs b/src/FIAP.TechChallenge.ByteMeBurger.Domain/Repositories/IClienteRepository.cs
new file mode 100644
index 0000000..249dca3
--- /dev/null
+++ b/src/FIAP.TechChallenge.ByteMeBurger.Domain/Repositories/IClienteRepository.cs
@@ -0,0 +1,10 @@
+using FIAP.TechChallenge.ByteMeBurger.Domain.Entities;
+
+namespace FIAP.TechChallenge.ByteMeBurger.Domain.Repositories
+{
+ public interface IClienteRepository
+ {
+ Task GetByCpf(string cpf);
+
+ }
+}
diff --git a/src/FIAP.TechChallenge.ByteMeBurger.Infrastructure/FIAP.TechChallenge.ByteMeBurger.Infrastructure.csproj b/src/FIAP.TechChallenge.ByteMeBurger.Infrastructure/FIAP.TechChallenge.ByteMeBurger.Infrastructure.csproj
index 595335a..065c453 100644
--- a/src/FIAP.TechChallenge.ByteMeBurger.Infrastructure/FIAP.TechChallenge.ByteMeBurger.Infrastructure.csproj
+++ b/src/FIAP.TechChallenge.ByteMeBurger.Infrastructure/FIAP.TechChallenge.ByteMeBurger.Infrastructure.csproj
@@ -6,4 +6,8 @@
enable
+
+
+
+
diff --git a/src/FIAP.TechChallenge.ByteMeBurger.Infrastructure/Repositories/ByteMeBurgerDbContext.cs b/src/FIAP.TechChallenge.ByteMeBurger.Infrastructure/Repositories/ByteMeBurgerDbContext.cs
new file mode 100644
index 0000000..7cf77b1
--- /dev/null
+++ b/src/FIAP.TechChallenge.ByteMeBurger.Infrastructure/Repositories/ByteMeBurgerDbContext.cs
@@ -0,0 +1,15 @@
+using FIAP.TechChallenge.ByteMeBurger.Domain.Entities;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.Identity.Client;
+
+namespace FIAP.TechChallenge.ByteMeBurger.Infrastructure.Repositories
+{
+ public class ByteMeBurgerDbContext: DbContext
+ {
+ public ByteMeBurgerDbContext(DbContextOptions options) : base(options)
+ {
+
+ }
+ public DbSet Clientes { get; set; }
+ }
+}
diff --git a/src/FIAP.TechChallenge.ByteMeBurger.Infrastructure/Repositories/ClienteRepository.cs b/src/FIAP.TechChallenge.ByteMeBurger.Infrastructure/Repositories/ClienteRepository.cs
new file mode 100644
index 0000000..b4d63ba
--- /dev/null
+++ b/src/FIAP.TechChallenge.ByteMeBurger.Infrastructure/Repositories/ClienteRepository.cs
@@ -0,0 +1,17 @@
+using FIAP.TechChallenge.ByteMeBurger.Domain.Entities;
+using FIAP.TechChallenge.ByteMeBurger.Domain.Repositories;
+
+namespace FIAP.TechChallenge.ByteMeBurger.Infrastructure.Repositories
+{
+ public class ClienteRepository : IClienteRepository
+ {
+ private readonly ByteMeBurgerDbContext _context;
+ public ClienteRepository(ByteMeBurgerDbContext context) {
+ _context = context;
+ }
+ public Task GetByCpf(string cpf)
+ {
+ throw new NotImplementedException();
+ }
+ }
+}