Skip to content

LuizFhelipy/Social-Network-Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Social-Network-Project

Experimental social network to share knowledge and content acquired in the training.

✍️ API Requirements

Must to have

  • Comunicar com uma API externa (desenvolvida pelo colaborador ou por terceiros).
  • Persistir dados num BD relacional (não relacional é "nice to have").
  • Apresentar alguns testes unitários e funcionais.

Nice to have

  • Organização do código.
  • Logging.
  • Segurança (ex: JWT).
  • Cache.

📝 Design Patterns

Model

Data holder, receives information from Controller, validates or not and returns the appropriate answer.

Detentor dos dados, recebe as informações do Controller, valida ou não e retorna a resposta adequada.

Controller

Provides communication between the data holder and the customer.

Fornece a comunicação entre o detentor dos dados e o cliente.

Repository

Data consultation and manipulation interface, used to create a control and security barrier between the application and the data.

Interface de consulta e manipulação dos dados, utilizado para criar uma barreira de controle e segurança entre a aplicação e os dados.

DTO

Used to transfer data between software subsystems.

Utilizado para transferir dados entre subsistemas do software.

Form

Utilizado para transferir dados entre subsistemas do software.

Utilizado para transferir dados entre subsistemas do software.

📚 Features

User

  • CREATE
  • DELETE

Publication

  • CREATE
  • READ
  • UPDATE
  • DELETE

Comment

  • CREATE
  • UPDATE
  • DELETE

💻 Setup

  • Clone and open in Eclipse IDE
  • Install maven dependencies using IDE auto import or using the command mvn install
  • Browse http://localhost:8080

📃 API Doc & Sample

Authentication Controller

Content-Type

application/json

Body

{
  "email": "[email protected]",
  "password": "123456"
}

Paths

POST /auth

Publication Controller

Content-Type

application/json
Authorization Bearer {{token}}

Paths

POST /publications
GET /publications
GET /publications?author=authorName
GET /publications/{id}
PUT /publications/{id}
DELETE /publications/{id}

User Controller

Content-Type

application/json

Authorization Bearer {{token}}

Paths

POST /user

DELETE /user/{id}

📲 External Tools

ElephantSQL

https://www.elephantsql.com

Cloudinary

https://cloudinary.com

Swagger

https://swagger.io

Spring Boot Admin

https://codecentric.github.io/spring-boot-admin/2.1.4/

About

Social Network Project Sample

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages