Skip to content

monica88lima/Desafio-dotnet-balta

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 

Repository files navigation

Desafio-dotnet-balta

💻 #Criação de API

O desafio proposto pelo Balta, tinha como próposito a criação de uma API moldada por um repositorio que contém dados de cidades e estados. Este exercicio apresentou três níveis de entrega, que os participantes poderiam escolher de acordo com seu nível de Senioridade.

Neste etapa escolhi o perfil de Júnior para realizar o proposto.

📑 Descrição do Projeto

Dentro do perfil escolhido [Júnior]

DoD

  • Autenticação e Autorização

  • Cadastro de E-mail e Senha

  • Login (Token, JWT)

  • CRUD de Localidade

  • Código, Estado, Cidade (Id, City, State)

  • Pesquisa por cidade

  • Pesquisa por estado

  • Pesquisa por código (IBGE)

  • Boas práticas da API

  • Versionamento

  • Padronização

  • Documentação (Swagger)

🚩 Tecnologias utilizadas

  • .Net 7.0
  • C#
  • SQLServer
  • Azure

🚀 Funcionalidades do projeto

A API dispõe do serviço de Cadastro usuário, permitindo que este utilize após login utilize os serviços de:

  • Cadastro de Localidade conforme perfil do IBGE;
  • Consulta a todos os registro de localidade, além de consultas específicas por ID, Cidade e Sigla do Estado;
  • Alteração de Cadastro da Localidade;
  • Remoção de Registro da localidade;
  • 🚩 Clique na imagem!
  • Alt text

📁 Acesso ao projeto

A API esta disponivel em: (https://desafiodotnet-balta20231021190144.azurewebsites.net/swagger/index.html)

🛠️ Para abrir e rodar o projeto, é necessario:

Criar Banco de Dados

  • Rodar o script abaixo:

     Create database [nomeDoBanco]

Criar as tabelas 'User' e 'IBGE'**

USE [nomeDoBanco]

GO


SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[USER](
	[UserId] [int] IDENTITY(1,1) NOT NULL,
	[FirstName] [varchar](80) NOT NULL,
	[LastName] [varchar](80) NOT NULL,
	[Email] [varchar](300) NOT NULL,
	[Password] [varchar](100) NOT NULL,
	[CreationDate] [datetime] NOT NULL,
	[Profile] [varchar](100) NULL,
 CONSTRAINT [PK_USER] PRIMARY KEY CLUSTERED 
(
	[UserId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
GO
CREATE TABLE [dbo].[IBGE](
	[Id] [char](7) NOT NULL,
	[State] [char](2) NULL,
	[City] [nvarchar](80) NULL,
	[CreationDate] [datetime] NULL,
	[UpdateDate] [datetime] NULL,
 CONSTRAINT [PK_IBGE] PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
        ```
   


Abrir solution com IDE (Visual Studio )ou Editor de código (Visual Studio Code) ou outro conforme preferência:

  • Configurar a string de conexão com o banco de dados no arquivo appsettings.json

Para configuração do serviço de Autenticação da API, se faz necessário ajustar a configuração da propriedade PrivateKey, caminho: DesafioDotnet-balta\Configuration\Configuration.csConfiguration.cs -Utilize o padrão de UserSecrets para configurar esta propriedade, orientações e passo a passo disponivel neste artigo: Armazenamento seguro de segredos de aplicativos em desenvolvimento no ASP.NET Core

💡 Pacotes

net7.0;

AutoMapper/12.0.1;

Asp.Versioning.Mvc.ApiExplorer/7.1.0;

Asp.Versioning.Mvc.ApiExplorer/7.1.0;

AutoMapper.Extensions.Microsoft.DependencyInject/12.0.1;

Microsoft.AspNetCore.Authentication.JwtBearer/7.0.12;

Microsoft.AspNetCore.OpenApi/7.0.11;

Microsoft.EntityFrameworkCore.SqlServer/7.0.12;

Microsoft.Extensions.Configuration.UserSecrets/7.0.0;

Swashbuckle.AspNetCore/6.5.0;

Swashbuckle.AspNetCore.Swagger/6.5.0;

Swashbuckle.AspNetCore.SwaggerGen/6.5.0;

Swashbuckle.AspNetCore.SwaggerUI/6.5.0;

About

Criação de API

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages