Go-gif - Backend microservice supporting GoGifUrself

go-gif

Description

Backend microservice supporting GoGifUrself.

Dev Process

  1. Pull the latest code from Github
  2. Update the go deps go get
  3. Run all local tests to ensure a good base has been pulled go test
  4. Make any code changes. Please ensure test cases are added for any new code.
  5. Run all local tests to ensure the code is working, again... go test

Locally Run

From the root of the project:

go get

go test

go run main.go

Containerized Execution (nope)

We need to get an external repository to push to, so we can run this bish in the cloud somewhere.

  1. Build the container: docker build . -f dockerfile -t go-gif
  2. Run the container locally docker run -p 8080:8080 go-gif

Endpoints Supported (well not really)

  • GET /players/[id] # Get a player by ID
  • GET /players/ # Get a collection of players
  • POST /game_sessions # Create a game session
  • GET /game_sessions/[id] # Get a game session by ID
  • DELETE /game_sessions/[id] # Delete a game session by ID
  • GET /game_sessions/[id]/players # Get players in a game session
  • PUT /game_sessions/[id]/players # Add a player to a game session

Additions Required ASAP

  • use make or some build automation
  • linting of code
  • automatic go test reports
  • determine how this will run in the cloud
  • different place for actual tests
  • DB type and hosting needs to be confirmed
  • instrument the running to allow for better monitoring
  • document the dev practices like branching etc

NOTE: EXTRACT ALL OF THIS OUT OF CODE BASE

GoGifUrself

Number of players: 2-8 (must be even number of players for pairing)

Players are paired off in a round-robin fashion and asked a series of questions which they must respond with a gif of their choice. At the end of each round, the other players vote on their favorite answers. Highest score at the end of three rounds wins!

The three rounds: first blood, middle game, and the revelation.

First Blood: Players compete in pairs. Other players in game vote for their favorite answer. Middle Game: Players compete in groups of total players / 2. Other players in game vote for their favorite answer. Revelation: Players are all asked a single prompt. Players can vote on anyone other than themselves.

Roles for Players

  • Game Creator/Host
  • Player

Game Creator/Host User Story: Create a New Game

  1. The game creator opens the app on their client
  2. The game creator creates a game session
  3. The game creator can start the game
  4. The game creator can end the game

Player User Story: Join an Existing Game

  1. The player opens the app on their client
  2. The player can join a game session via the join code
  3. The player is prompted to input their player name

Both: Play the Game

  1. The game starts and all users see the intro screen and rules
  2. First blood starts
Owner
Michael Bazik
Automation test engineer @SAS_Institute.
Michael Bazik
Similar Resources

A Microservice Toolkit from The New York Times

A Microservice Toolkit from The New York Times

Gizmo Microservice Toolkit This toolkit provides packages to put together server and pubsub daemons with the following features: Standardized configur

May 31, 2021

Kratos is a microservice-oriented governance framework implements by golang,

Kratos is a microservice-oriented governance framework implements by golang,

Kratos is a microservice-oriented governance framework implements by golang, which offers convenient capabilities to help you quickly build a bulletproof application from scratch.

Dec 31, 2022

User management microservice written in Go with Postgres

user-registration-service-go Simple user registration microservice written in Go with Postgres database. Uses clean architecture to accept requests fr

Nov 24, 2022

Social previews generator as a microservice.

Social previews generator as a microservice.

ogimgd Social previews generator as a microservice. Can be used to generate images for og:image meta-tag. It runs as an HTTP server with a single endp

Sep 17, 2022

An production-ready microservice using Go and a few lightweight libraries

An production-ready microservice using Go and a few lightweight libraries

Go Micro Example This small sample project was created as a collection of the various things I've learned about best practices building microservices

Dec 26, 2022

Microservice Boilerplate for Golang with gRPC and RESTful API. Multiple database and client supported

Microservice Boilerplate for Golang with gRPC and RESTful API. Multiple database and client supported

Go Microservice Starter A boilerplate for flexible Go microservice. Table of contents Features Installation Todo List Folder Structures Features: Mult

Jul 28, 2022

Kitex byte-dance internal Golang microservice RPC framework with high performance and strong scalability, customized extensions for byte internal.

Kitex byte-dance internal Golang microservice RPC framework with high performance and strong scalability, customized extensions for byte internal.

Kitex 字节跳动内部的 Golang 微服务 RPC 框架,具有高性能、强可扩展的特点,针对字节内部做了定制扩展。

Jan 9, 2023

Erda is an open-source platform created by Terminus to ensure the development of microservice applications.

Erda is an open-source platform created by Terminus to ensure the development of microservice applications.

Erda is an open-source platform created by Terminus to ensure the development of microservice applications.

Jan 5, 2023

A microservice gateway developed based on golang.With a variety of plug-ins which can be expanded by itself, plug and play. what's more,it can quickly help enterprises manage API services and improve the stability and security of API services.

A microservice gateway developed based on golang.With a variety of plug-ins which can be expanded by itself, plug and play. what's more,it can quickly help enterprises manage API services and improve the stability and security of API services.

Goku API gateway is a microservice gateway developed based on golang. It can achieve the purposes of high-performance HTTP API forwarding, multi tenant management, API access control, etc. it has a powerful custom plug-in system, which can be expanded by itself, and can quickly help enterprises manage API services and improve the stability and security of API services.

Dec 29, 2022
Related tags
Microservice - A sample architecture of a microservice in go

#microservice Folder structure required. service certs config config.yaml loggin

Feb 3, 2022
Microservice - Microservice golang & nodejs
Microservice - Microservice golang & nodejs

Microservice Gabungan service dari bahasa pemograman go, nodejs Demo API ms-auth

May 21, 2022
Customer-microservice - Microservice of customer built with golang and gRPC

?? Building microservices to manage customer data using Go and gRPC Command to g

Sep 8, 2022
Go gRPC RabbitMQ email microservice

Go, RabbitMQ and gRPC Clean Architecture microservice ?? ??‍?? Full list what has been used: GRPC - gRPC RabbitMQ - RabbitMQ sqlx - Extensions to data

Dec 29, 2022
A Microservice Toolkit from The New York Times
A Microservice Toolkit from The New York Times

Gizmo Microservice Toolkit This toolkit provides packages to put together server and pubsub daemons with the following features: Standardized configur

Jan 7, 2023
Go products microservice

Golang Kafka gRPC MongoDB microservice example ?? ??‍?? Full list what has been used: Kafka - Kafka library in Go gRPC - gRPC echo - Web framework vip

Dec 28, 2022
Kratos is a microservice-oriented governance framework implements by golang
Kratos is a microservice-oriented governance framework implements by golang

Kratos is a microservice-oriented governance framework implements by golang, which offers convenient capabilities to help you quickly build a bulletproof application from scratch.

Dec 27, 2022
Modern microservice web framework of golang
Modern microservice web framework of golang

gogo gogo is an open source, high performance RESTful api framework for the Golang programming language. It also support RPC api, which is similar to

May 23, 2022
a microservice framework for rapid development of micro services in Go with rich eco-system
a microservice framework for rapid development of micro services in Go with rich eco-system

中文版README Go-Chassis is a microservice framework for rapid development of microservices in Go. it focus on helping developer to deliver cloud native a

Dec 27, 2022
Go microservice tutorial project using Domain Driven Design and Hexagonal Architecture!

"ToDo API" Microservice Example Introduction Welcome! ?? This is an educational repository that includes a microservice written in Go. It is used as t

Jan 4, 2023