/Colabore-DBC

Projeto Vem Ser DBC - 9ª Edição

Primary LanguageJava

Projeto Vem Ser DBC - 9ª Edição

Seja Bem Vindo ao Back-End da API Colabore

🎁📚🎀🎁📚🎀🎁📚🎀🎁📚🎀🎁📚🎀🎁📚🎀🎁📚

Sobre este Projeto

O Colabore trata-se de um Sistema para Divulgação de Campanhas Colaborativas. O software foi elaborado com arquitetura API Rest, documentação feita com Swagger e deploy no Heroku. O objetivo do projeto é permitir que os colaboradores da DBC possam participar e se engajar em causas coletivas como arrecadação de dinheiro para páscoa solidária, arrecadação para comprar livros de tecnologia, etc.

Realizamos o desenvolvimento do CRUD (Create-Read-Update-Delete) de usuários, campanhas, tags, doadores, etc., onde as informações ficam dentro de uma base de dados Postgres.

Executamos consultas no banco de dados através de Query's JPQL (Java Persistence Query Language) presentes na camada de Repository garantindo assim, maior performance para a aplicação. Também implementamos diversas outras ferramentos como: Spring Security (Token JWT, Bcrypt, Regras Específicas), Spring Web (lombok, object mapper, injeções de dependências, validation), etc.

Esta API trabalha com chaves primarias e estrangeiras, garantindo total integridade da aplicação.

Por tratar-se de uma API Rest ela estabelece uma comunicação stateless entre cliente e servidor. Isso significa que nenhuma informação do cliente é armazenada entre solicitações GET e todas as solicitações são separadas e desconectadas.

Diagrama de Entidade Relacionamento

Diagrama de Classes

📁 Diretórios e arquivos

.
├───.mvn
│   └───wrapper
├───Colabore-API
│   └───.idea
│       └───libraries
├───src
│   ├───main
│   │   ├───java
│   │   │   └───br
│   │   │       └───com
│   │   │           └───dbccompany
│   │   │               └───colaboreapi
│   │   │                   ├───config
│   │   │                   ├───controller
│   │   │                   ├───dto
│   │   │                   │   ├───autenticacao
│   │   │                   │   ├───campanha
│   │   │                   │   ├───doador
│   │   │                   │   ├───tag
│   │   │                   │   └───usuario
│   │   │                   ├───entity
│   │   │                   ├───enums
│   │   │                   ├───exceptions
│   │   │                   ├───repository
│   │   │                   ├───security
│   │   │                   └───service
│   │   └───resources
│   │       ├───static
│   │       └───templates
│   └───test
│       └───java
│           └───br
│               └───com
│                   └───dbccompany
│                       └───colaboreapi
│                           └───service
└───target
    ├───classes
    │   └───br
    │       └───com
    │           └───dbccompany
    │               └───colaboreapi
    │                   ├───config
    │                   ├───controller
    │                   ├───dto
    │                   │   ├───autenticacao
    │                   │   ├───campanha
    │                   │   ├───doador
    │                   │   ├───tag
    │                   │   └───usuario
    │                   ├───entity
    │                   ├───enums
    │                   ├───exceptions
    │                   ├───repository
    │                   ├───security
    │                   └───service
    ├───generated-sources
    │   └───annotations
    ├───generated-test-sources
    │   └───test-annotations
    ├───maven-archiver
    ├───maven-status
    │   └───maven-compiler-plugin
    │       ├───compile
    │       │   └───default-compile
    │       └───testCompile
    │           └───default-testCompile
    └───test-classes
        └───br
            └───com
                └───dbccompany
                    └───colaboreapi
                        └───service

💻 Endpoints

As urls interativas, construídas através do Swagger, podem ser acessadas neste link: API Colabore

Método URL Finalidade
POST /autenticacao/login Fazer login na aplicação
POST /autenticacao/cadastrar Fazer cadastro na aplicação
POST /autenticacao/cadastrarFoto Fazer upload da foto do usuário na aplicação
GET /usuario/dadosUsuario Lista as informações do usuário logado
POST /campanha/cadastrar Adiciona uma nova campanha
POST /campanha/cadastrarFoto Adiciona a capa da nova campanha
PUT /campanha/{idCampanha} Atualiza a campanha através do seu respectivo id
GET /campanha/listarCampanhas Lista as campanhas através de determinados filtros
GET /campanha/listarCampanhasDoUsuario Lista todas as campanhas criadas do usuário logado
GET /campanha/campanhaPeloId Recupera as campanhas pelo Id
DELETE /campanha/{id} Deleta uma campanha através de seu respectivo id
POST /tag Adiciona uma nova tag
GET /tag Lista todas a tags cadastradas
DELETE /tag/{id} Deleta uma tag através de seu respectivo id
POST /doador/{idCampanha} Realiza uma doação à campanha pelo Id da mesma

Gostaria de Falar Conosco?

Clique no nome dos desenvolvedores para enviar um e-mail

Cesar

Paulo

Acessando a API

Para acessar esta API, clique no seguinte endereço: https://colabore-dbc-api.herokuapp.com/swagger-ui/index.html#/

Clonando este Projeto

Para clonar este projeto basta digitar o seguinte comando em seu terminal git

Instalando

Para melhor explorar, alterar, incrementar este projeto, sugerimos a instalação do próprio IntelliJ para abrir os arquivos. IDE utilizada para construção deste sistema. Nela você encontra-ra diversas ferramentas e recursos para explorar e evoluir ainda mais essa aplicação


Gostaria de visitar nossa camada de front-end?


Agradecemos sua Visita ! 😀