Caitlyn's Ledger é uma API inspirada no universo de Arcane, permitindo que usuarios criem e gerenciem investigações fictícias. A ideia central é simular o trabalho de uma detetive em Piltover, combinando a tecnologia Hextech e o mistério característico do seriado.
- Funcionalidades
- Tecnologias Utilizadas
- Configuração do Projeto
- Estrutura de Dados
- Endpoints da API
- Como Executar o Projeto
- Contribuindo
- Licença
- Casos de Investigação:
- Criar, listar, atualizar e excluir casos de investigação.
- Gerenciamento de Pistas:
- Relacionar pistas a casos específicos, com descrição e relevância.
- Gerenciamento de Suspeitos:
- Adicionar suspeitos com descrições detalhadas e álibis relacionados aos casos.
- Documentação da API:
- Utiliza o Swagger para explorar e testar os endpoints.
- Banco de Dados Relacional:
- Todas as informações são armazenadas em um banco de dados SQLite.
- Linguagem: C#
- Framework: ASP.NET Core 8.0
- Banco de Dados: SQLite
- ORM: Entity Framework Core
- Documentação da API: Swagger (Swashbuckle)
- Controle de Versão: Git & GitHub
A API organiza os dados em três principais entidades:
Campo | Tipo | Descrição |
---|---|---|
Id |
int |
Identificador único do caso. |
Name |
string |
Nome do caso. |
Description |
string |
Descrição detalhada do caso. |
Status |
string |
Status do caso (Aberto/Resolvido). |
Clues |
List<Clue> |
Lista de pistas relacionadas ao caso. |
Suspects |
List<Suspect> |
Lista de suspeitos relacionados ao caso. |
Campo | Tipo | Descrição |
---|---|---|
Id |
int |
Identificador único da pista. |
Description |
string |
Descrição da pista. |
Relevance |
string |
Relevância da pista (Alta, Média, Baixa). |
CaseId |
int |
Relacionamento com o caso correspondente. |
Campo | Tipo | Descrição |
---|---|---|
Id |
int |
Identificador único do suspeito. |
Name |
string |
Nome do suspeito. |
Alibi |
string |
Álibi apresentado pelo suspeito. |
CaseId |
int |
Relacionamento com o caso correspondente. |
Método | Rota | Descrição |
---|---|---|
GET |
/api/cases |
Lista todos os casos. |
GET |
/api/cases/{id} |
Retorna os detalhes de um caso. |
POST |
/api/cases |
Cria um novo caso. |
PUT |
/api/cases/{id} |
Atualiza um caso existente. |
DELETE |
/api/cases/{id} |
Remove um caso. |
Método | Rota | Descrição |
---|---|---|
GET |
/api/clues |
Lista todas as pistas. |
GET |
/api/clues/{id} |
Retorna os detalhes de uma pista. |
POST |
/api/clues |
Adiciona uma nova pista. |
Método | Rota | Descrição |
---|---|---|
GET |
/api/suspects |
Lista todos os suspeitos. |
GET |
/api/suspects/{id} |
Retorna os detalhes de um suspeito. |
POST |
/api/suspects |
Adiciona um novo suspeito. |
- Instalar o .NET 8 SDK.
- Opcional: Instalar o SQLite ou uma ferramenta como DB Browser.
-
Clone o Repositório:
git clone https://github.com/anadevti/Caitlyn-s-Ledger.git cd Caitlyn-s-Ledger
-
Restaure as Dependências:
dotnet restore
-
Configure o Banco de Dados:
dotnet ef migrations add InitialCreate dotnet ef database update
-
Inicie o Servidor:
dotnet run
-
Acesse a API:
Contribuições são muito bem-vindas! Siga estas etapas:
- Faça um fork do repositório.
- Crie um branch para sua feature ou correção:
git checkout -b minha-feature
- Faça suas alterações e commit:
git commit -m "Minha contribuição"
- Envie para a sua branch:
git push origin minha-feature
- Abra um pull request no repositório.
Este projeto é licenciado sob a licença MIT. Consulte o arquivo LICENSE
para mais informações.