Simple Golang API to demonstrate file upload to fireabase storage and retrieving url of uploaded file.

Golang-Firebase-Storage

Golang-Firebase-Storage

   

go-firebase-storage -Work in progress 🛠️

Simple Golang API that uses Firebase as its backend to demonstrate various firebase services using Go such as uploading a simple post to Firebase Firestore, multipart/form-file upload to Fireabase Storage and retrieving url of uploaded file, Firebase/Social Authentication and Firebase Cloud Messaging.

I created this repository for a few reasons:

  1. I was trying to do a fle upload to firebase storage and had a really hard time going through the poor documentation provided, so i decided to make this repo as a simple guide for anyone who wants to use Firebase services in their golang app.
  2. To practice making a RESTful API using golang.
  3. To have some sort of template for my personal side projects that use firebase services.

Table of Content

Prerequisite

You need to have a firebase account in order to get started. A firebase account can easily be created from the Firebase Console and they provide various payment plan but for the firebase services used in this repo they are all free by using the Spark Plan.

Disclaimer

  • Most of the firebase services used in this project such as Firebase Firestore and Firestore Storage have other alternatives that are mainly used at a production level such as AWS, GCP and Heroku etc.

  • This repo is not meant to showcase any best practices or software architecture when developing a REST API using golang or when interacting with the Firebase Golang SDK.

  • This repo is not meant to be any form of documentation for the Firebase Golang SDK but just a guide to anyone who might be having a difficult time navigating through the official documentation.

Helpful Resources

Owner
Victor Kabata
Android Dev(Kotlin || Java) && Backend Golang
Victor Kabata
Similar Resources

A server for TurboRepo Remote Cache to store cache artefacts in Google Cloud Storage or Amazon S3

Tapico Turborepo Remote Cache This is an implementation of Vercel's Turborepo Remote Cache API endpoints used by the turborepo CLI command. This solut

Dec 13, 2022

Works with HashiCorp HCL. Allows to append the input file with blocks and attributes from the template file

About hclmergetool Works with HashiCorp HCL. Allows to append the input file with blocks and attributes from the template file Installation Binary Rel

Feb 6, 2022

Basic-api-with-go - A basic api with golang

I am creating my first API with GO. Install go get -u github.com/Yefhem/basic-ap

Jan 3, 2022

A simple OneText Api powered by Golang

OneTextAPI-Go A simple OneText Api powered by Golang. 使用方法 在 Vercel 调用 example: package api import ( onetext "github.com/XiaoMengXinX/OneTextAPI-

May 3, 2022

traefik-certs-cleaner is a simple helper to clean the Traefik acme.json file by removing certificates

traefik-certs-cleaner If you appreciate this project: Description traefik-certs-cleaner is a simple helper to clean the Traefik acme.json file by remo

Oct 31, 2022

bf.go - A dead simple brainfuck interpreter Slow and simple

bf.go - A dead simple brainfuck interpreter Slow and simple. Can execute pretty much all tested Brainfuck scripts. Installation If you have Go install

Oct 15, 2021

Go API wrapper for Greenhouse.io API

Greenhouse IO A Go interface to Greenhouse.io's API Useage Creating the Client NewClient accepts: A context; used for any HTTP requests made using the

Jan 14, 2022

Fast conversions across various Go types with a simple API.

Go Package: conv Get: go get -u github.com/cstockton/go-conv Example: // Basic types if got, err := conv.Bool(`TRUE`); err == nil { fmt.Printf("conv.

Nov 29, 2022

godesim Simulate complex systems with a simple API.

godesim Simulate complex systems with a simple API. Wrangle non-linear differential equations while writing maintainable, simple code. Why Godesim?

Jan 5, 2023
A simple Via CEP Wrapper to demonstrate GoLang tests usage

via-cep-wrapper A simple Via CEP Wrapper to demonstrate GoLang tests usage Purpose Demonstrate how struct services could make easy to build and test a

May 18, 2022
A sample golang project to demonstrate the integration with rancher pipeline

pipeline-example-go This is a sample golang project to demonstrate the integration with rancher pipeline. Building go build -o ./bin/hello-server Runn

Oct 30, 2021
Work with remote images registries - retrieving information, images, signing content

skopeo skopeo is a command line utility that performs various operations on container images and image repositories. skopeo does not require the user

Jan 5, 2023
World-banks - Go Library for retrieving world banks.

World banks Go Library for retrieving world banks. Quick start To install: go get github.com/pepcep/world-banks Usage There are several ways of utili

Jan 11, 2022
Configmanager - Package used for retrieving application settings from various sources

Config Manager Package used for retrieving application settings from various sou

Nov 28, 2022
This Go based project of Aadhyarupam Innovators demonstrate the code examples for building microservices, integration with cloud services (Google Cloud Firestore), application configuration management (Viper) etc.

This Go based project of Aadhyarupam Innovators demonstrate the code examples for building microservices, integration with cloud services (Google Cloud Firestore), application configuration management (Viper) etc.

Dec 22, 2022
This is a community upload of a community project.

This is a community upload of a community project. The amount of people who worked on it is innumerous, and hard to keep track of. But id like to contribute this to the efforts of Ando, Fists Team, the French Team, Mai's Team and the many wondeful members of the MHFZ community who gave their time and energy to help us. No matter the relations, these files will remain public and open source, free for all to use and modify.

Nov 6, 2022
Simple URL Shortener API

url-shortener POST a URL to /v1/shorturl endpoint and get a JSON response with short_url properties. Example JSON Reponse: {short_url : 'a'} If you pa

Mar 1, 2022
A golang URL Shortener

url-shortener A golang URL Shortener with mysql support. Using Bijective conversion between natural numbers (IDs) and short strings Installation Using

Dec 10, 2022
Super short, fully unique, non-sequential and URL friendly Ids

Generator of unique non-sequential short Ids The package shortidenables the generation of short, fully unique, non-sequential and by default URL frien

Dec 30, 2022