discord-clone-api

command module
v0.0.0-...-e14e903 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 16, 2021 License: MIT Imports: 7 Imported by: 0

README

Discord-Clone-API

Esse projeto serve como um complemento do projeto realizado com Angular e visa simular o funcionamento básico do discord, isto é:

  • Sistema de servidores e canais
  • Envio de mensagens pelos usuários

Para isso, as tecnologias principais utilizadas foram Fiber (um framework express-like para golang), GORM (ORM que serve para uma diversidade de bancos relacionais) e PostgreSQL para banco de dados (mas é uma opção que pode ser modificada de maneira bem simples)

Uso

A exigência principal é ter o Go instalado na sua máquina. Caso ainda não tenha, ele pode ser obtido por meio do site oficial da linguagem. Com esse setup principal, você já consegue rodar e buildar o sistema, mas se quiser aproveitar de uma mini gambiarra que te dar "live-reload" instale o entr (usuários de windows, perdão, mas não sei como funciona no seu caso). Vale ressaltar que os comandos do Go não são usados diretamente nesse processo, pois optei pela criação de um Makefile, caso tenha alguma curiosidade, dá uma olhadinha no arquivo :)

Não esqueça de configurar um arquivo .env seguindo o template definido no .env-example.

Executar
api@discord-clone:$ make run

Com esse comando, o projeto irá iniciar de maneira estática e você terá que reiniciar o comando sempre que fizer uma alteração e quiser ver o resultado.

Live-reload
api@discord-clone:$ make dev

Dessa forma, o projeto irá executar usando o artifício do entr e sempre que ocorrer um novo save nos arquivos .go ele irá executar tudo novamente.

Buildar
api@discord-clone:$ make build

Seu projeto irá compilar e poderá ser encontrado como um executável na pasta build/. Vale destacavar que o projeto só irá funcionar se houver um arquivo .env no mesmo diretório que ele, mas isso é algo que ainda vou avaliar.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
handler

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL