Skip to content

This project was created from scratch as a technical challenge for Santander Bootcamp 2023. Tech stack: Java 17, Springboot and Gradle

Notifications You must be signed in to change notification settings

WillCoutinho/santander-bootcamp

Repository files navigation

Santander Bootcamp 2023

Bootcamp project by DIO and sponsored by Santander.
This project is developed in Java 17, Spring Boot 3, Gradle and serves as an evaluation of the technical knowledge acquired during the bootcamp

Figma

This project is designed with support from Santander - Dashboard on Figma for APIs.

Requirements

Ensure you have the following prerequisites before running the project:

Installation and Execution

Follow these steps to clone and run the project:

  1. Clone the project (with admin privileges) using this command:
git clone https://github.com/WillCoutinho/santander-bootcamp.git && cd santander-bootcamp
  1. Start the project with this command: gradlew bootRun --args='--spring.profiles.active=dev'
  2. Once the project is running, you can access the Swagger documentation at the following URL: http://localhost/swagger-ui/index.html
  3. To run the tests available in this project, use the following command: gradlew test

Notes

  • These instructions were tested on Windows 10
  • The "postman-collections" folder contains .json files that can be imported into Postman for manual test execution
  • The "prd_url" within collection "prd" is hosted on Railway and may become unavailable due to associated usage charges

Class Diagram - Dashboard

classDiagram
  class User {
    - name: string
    - account: Account
    - features: Feature[]
    - card: Card
    - news: News[]
    + getName(): string
    + getAccount(): Account
    + getFeatures(): Feature[]
    + getCard(): Card
    + getNews(): News[]
  }

  class Account {
    - number: string
    - agency: string
    - balance: number
    - limit: number
    + getNumber(): string
    + getAgency(): string
    + getBalance(): number
    + getLimit(): number
  }

  class Feature {
    - icon: string
    - description: string
    + getIcon(): string
    + getDescription(): string
  }

  class Card {
    - number: string
    - limit: number
    + getNumber(): string
    + getLimit(): number
  }

  class News {
    - icon: string
    - description: string
    + getIcon(): string
    + getDescription(): string
  }

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

Loading

Tech Stack

Gradle - Build tool and dependency manager
Java 17 LTS - Long Term Support version of Java
JUnit5 - Unit test for Java
Mermaid - Class diagrams
PostgreSQL - Object-relational database system
Railway - Cloud infrastructure
SpringBoot - Create stand-alone Spring applications
Swagger OpenAPI - Enable Swagger for the application

About

This project was created from scratch as a technical challenge for Santander Bootcamp 2023. Tech stack: Java 17, Springboot and Gradle

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published