Skip to content

A RESTful api to manage contacts through CRUD operations. It was built with Java + Spring Boot + Postgres, protected with Spring Security + Oauth2 and deployed on App Angine with Supabase

License

Notifications You must be signed in to change notification settings

neemiassgc/contact-manager-api

Repository files navigation

README in en-US 🇺🇸

Contact Manager API

Uma API Rest multiusuário, testada e documentada para gerenciar contatos com o propósito de demonstrar operações CRUD.

GitHub commit activity Tests Core language Core framework Core build Postgres provider Authentication Deployment on Cloud

Destaques ✨

  • Spring Boot + Spring Security integrado com Oauth2 atuando como servidor de recursos
  • Spring Data JPA com Hibernate
  • Postgres em nuvem fornecido pelo Supabase
  • Multiusuário
  • Documentada com Swagger (link para documentação)
  • Imagem Docker no Docker Hub
  • Implantada no Google Cloud App Engine

Diagrama do Banco de dados 📄

Demostração 🔥

Visite o projeto Contact Manager UI que cria uma interface Web para usar esta API.

Test 🧪

Para executar os tests, é necessário um banco de dados Postgres. Para fazer isso, com o repositório já clonado, entre na raiz do projeto e execute o seguinte comando docker:

docker compose -f docker/postgres.yml up -d

Então use Gradle para executar os tests:

./gradlew test

Execute localmente usando docker 🌀

Basta apenas usar o seguinte comando docker compose na raiz do projeto para ter a aplicação rodando:

docker compose -f docker/app.yml up -d

Depois disso, a API pode ser acessado em http://localhost:8080. Obs: Um token JWT é necessário para acessar a API.

Licença 📝

Esse projeto está sob a Mit License

About

A RESTful api to manage contacts through CRUD operations. It was built with Java + Spring Boot + Postgres, protected with Spring Security + Oauth2 and deployed on App Angine with Supabase

Topics

Resources

License

Stars

Watchers

Forks