Bem-vindo ao projeto LeagueOfLegendsManager, um Sistema de Gerenciamento de Itens e Campeões para o popular jogo League of Legends (LoL). Este projeto foi desenvolvido como um desafio para aprimorar habilidades em desenvolvimento .NET C# enquanto se trabalha em um contexto prático e divertido.
Desenvolver uma API RESTful em .NET C# que permita a manipulação de itens e campeões no universo do LoL. O sistema oferece funcionalidades essenciais, como adicionar, buscar, remover itens e campeões, atualizar os atributos dos itens e dos campeões e buscar itens recomendados para um determinado campeão.
- Adicionar, buscar, remover e atualizar itens.
- Adicionar, buscar, remover e atualizar campeões.
- Buscar itens recomendados para um determinado campeão.
- .NET Core SDK
- MySQL
- Dapper
- MySqlConnector
- System.Data.SqlClient
- Swashbuckle.AspNetCore
Use as seguintes queries SQL para criar as tabelas necessárias no banco de dados MySQL:
-- Tabela Classe
CREATE TABLE Classe (
id INT PRIMARY KEY AUTO_INCREMENT,
nome VARCHAR(255) NOT NULL,
UNIQUE (nome)
);
-- Tabela Campeão
CREATE TABLE Campeao (
id INT PRIMARY KEY AUTO_INCREMENT,
nome VARCHAR(255) NOT NULL,
title VARCHAR(255),
UNIQUE (nome)
);
-- Tabela CampeaoClasse
CREATE TABLE CampeaoClasse (
campeao_id INT,
classe_id INT,
PRIMARY KEY (campeao_id, classe_id),
FOREIGN KEY (campeao_id) REFERENCES Campeao(id),
FOREIGN KEY (classe_id) REFERENCES Classe(id)
);
-- Tabela Item
CREATE TABLE Item (
id INT PRIMARY KEY AUTO_INCREMENT,
nome VARCHAR(255) NOT NULL,
custo INT,
UNIQUE (nome)
);
-- Tabela Tag
CREATE TABLE Tag (
id INT PRIMARY KEY AUTO_INCREMENT,
nome VARCHAR(255) NOT NULL,
UNIQUE (nome)
);
-- Tabela ItemTag
CREATE TABLE ItemTag (
item_id INT,
tag_id INT,
PRIMARY KEY (item_id, tag_id),
FOREIGN KEY (item_id) REFERENCES Item(id),
FOREIGN KEY (tag_id) REFERENCES Tag(id)
);
-- Tabela ItemStats
CREATE TABLE ItemStats (
id INT PRIMARY KEY AUTO_INCREMENT,
item_id INT,
stat_nome VARCHAR(255),
stat_valor DECIMAL(18, 2),
FOREIGN KEY (item_id) REFERENCES Item(id)
);