MCPcopy Index your code
hub / github.com/digitalinnovationone/santander-dev-week-2023-api

github.com/digitalinnovationone/santander-dev-week-2023-api @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
91 symbols 196 edges 21 files 1 documented · 1%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Santander Dev Week 2023 Java API

RESTful API da Santander Dev Week 2023 construída em Java 17 com Spring Boot 3.

Principais Tecnologias

  • Java 17: Utilizaremos a versão LTS mais recente do Java para tirar vantagem das últimas inovações que essa linguagem robusta e amplamente utilizada oferece;
  • Spring Boot 3: Trabalharemos com a mais nova versão do Spring Boot, que maximiza a produtividade do desenvolvedor por meio de sua poderosa premissa de autoconfiguração;
  • Spring Data JPA: Exploraremos como essa ferramenta pode simplificar nossa camada de acesso aos dados, facilitando a integração com bancos de dados SQL;
  • OpenAPI (Swagger): Vamos criar uma documentação de API eficaz e fácil de entender usando a OpenAPI (Swagger), perfeitamente alinhada com a alta produtividade que o Spring Boot oferece;
  • Railway: facilita o deploy e monitoramento de nossas soluções na nuvem, além de oferecer diversos bancos de dados como serviço e pipelines de CI/CD.

Link do Figma

O Figma foi utilizado para a abstração do domínio desta API, sendo útil na análise e projeto da solução.

Diagrama de Classes (Domínio da API)

classDiagram
  class User {
    -String name
    -Account account
    -Feature[] features
    -Card card
    -News[] news
  }

  class Account {
    -String number
    -String agency
    -Number balance
    -Number limit
  }

  class Feature {
    -String icon
    -String description
  }

  class Card {
    -String number
    -Number limit
  }

  class News {
    -String icon
    -String description
  }

  User "1" *-- "1" Account
  User "1" *-- "N" Feature
  User "1" *-- "1" Card
  User "1" *-- "N" News

Documentação da API (Swagger)

https://sdw-2023-prd.up.railway.app/swagger-ui.html

Esta API ficará disponível no Railway por um período de tempo limitado, mas este é um código-fonte aberto. Portanto, sintam-se à vontade para cloná-lo, modificá-lo (já que é um bom projeto base para novos projetos) e executar localmente ou onde achar mais interessante! Só não esquece de marcar a gente quando divulgar a sua solução 🥰

IMPORTANTE

Aos interessados no desenvolvimento da tela inicial do App do Santander (Figma) em Angular, Android, iOS ou Flutter... Caso a URL produtiva não esteja mais disponível, deixamos um Backup no GitHub Pages, é só dar um GET lá 😘 - URL de Produção: https://sdw-2023-prd.up.railway.app/users/1 - Mock (Backup): https://digitalinnovationone.github.io/santander-dev-week-2023-api/mocks/find_one.json

Extension points exported contracts — how you extend this code

CrudService (Interface)
(no doc) [2 implementers]
src/main/java/me/dio/service/CrudService.java
UserService (Interface)
(no doc) [1 implementers]
src/main/java/me/dio/service/UserService.java
UserRepository (Interface)
(no doc)
src/main/java/me/dio/domain/repository/UserRepository.java

Core symbols most depended-on inside this repo

getId
called by 9
src/main/java/me/dio/domain/model/User.java
getAccount
called by 4
src/main/java/me/dio/domain/model/User.java
getCard
called by 4
src/main/java/me/dio/domain/model/User.java
getNumber
called by 4
src/main/java/me/dio/domain/model/Card.java
validateChangeableId
called by 3
src/main/java/me/dio/service/impl/UserServiceImpl.java
setId
called by 3
src/main/java/me/dio/domain/model/User.java
toModel
called by 2
src/main/java/me/dio/controller/dto/CardDto.java
findAll
called by 2
src/main/java/me/dio/service/CrudService.java

Shape

Method 70
Class 18
Interface 3

Languages

Java100%

Modules by API surface

src/main/java/me/dio/domain/model/User.java13 symbols
src/main/java/me/dio/domain/model/Account.java11 symbols
src/main/java/me/dio/service/impl/UserServiceImpl.java8 symbols
src/main/java/me/dio/domain/model/Card.java7 symbols
src/main/java/me/dio/domain/model/BaseItem.java7 symbols
src/main/java/me/dio/service/CrudService.java6 symbols
src/main/java/me/dio/controller/UserController.java6 symbols
src/main/java/me/dio/controller/exception/GlobalExceptionHandler.java4 symbols
src/main/java/me/dio/domain/repository/UserRepository.java3 symbols
src/main/java/me/dio/controller/dto/UserDto.java3 symbols
src/main/java/me/dio/controller/dto/NewsDto.java3 symbols
src/main/java/me/dio/controller/dto/FeatureDto.java3 symbols

For agents

$ claude mcp add santander-dev-week-2023-api \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact