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

Overview

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

You might also like...
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

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

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

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-

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

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

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

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.

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?

Owner
Victor Kabata
Android Dev(Kotlin || Java) && Backend Golang
Victor Kabata
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

Bruno 3 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

null 0 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

Containers 5.5k 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

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

Config Manager Package used for retrieving application settings from various sou

null 7 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.

Aadhyarupam 1 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.

null 37 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

Emmanuel Idika 0 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

Leonidas Maroulis 40 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

teris.io 831 Dec 30, 2022