Sign inSign up

jeffemart/gotham

By jeffemart

Updated over 1 year ago

Gotham é uma API desenvolvido para gerenciar usuários, permissões e autenticação.

Image
Languages & frameworks
API management
0

10K+

jeffemart/gotham repository overview

Gotham - API de Gerenciamento de Usuários e Autenticação

Gotham é uma API robusta desenvolvida em Go para gerenciamento de usuários, permissões e autenticação, utilizando PostgreSQL e Redis.

Características

  • Autenticação JWT com refresh token
  • Sistema de roles e permissões granular
  • Cache com Redis
  • Documentação Swagger
  • Containerização com Docker
  • Banco de dados PostgreSQL

Uso Rápido

docker pull jeffemart/gotham

Variáveis de Ambiente

# App
APP_NAME=Gotham
APP_ENV=local
APP_PORT=8000

# Database
POSTGRES_USER=user
POSTGRES_PASSWORD=password
POSTGRES_DB=gotham_db
POSTGRES_PORT=5432

# Redis
REDIS_HOST=redis
REDIS_PORT=6379
REDIS_PASSWORD=password

Executando com Docker Compose

version: '3.7'

services:
  gotham:
    image: jeffemart/gotham
    ports:
      - "8000:8000"
    env_file:
      - .env
    depends_on:
      - postgres
      - redis

  postgres:
    image: postgres:13
    env_file:
      - .env
    volumes:
      - postgres_data:/var/lib/postgresql/data

  redis:
    image: redis:6
    command: redis-server --requirepass ${REDIS_PASSWORD}

volumes:
  postgres_data:

Endpoints Principais

  • POST /login - Autenticação de usuários
  • GET /users - Lista usuários (paginado)
  • POST /users - Cria novo usuário
  • PUT /admin/users/{id} - Atualiza usuário (requer role admin)
  • DELETE /admin/users/{id} - Remove usuário (requer role admin)

Documentação

A documentação Swagger está disponível em /swagger/index.html quando a aplicação está em execução.

Suporte

Para suporte e contribuições, visite o repositório GitHub.

Licença

MIT License

Tag summary

Content type

Image

Digest

sha256:9ccde2708

Size

384.6 MB

Last updated

over 1 year ago

docker pull jeffemart/gotham