{"id":30504441,"url":"https://github.com/rdboyes/firebase.jl","last_synced_at":"2025-10-06T13:53:15.799Z","repository":{"id":47689188,"uuid":"376794571","full_name":"rdboyes/Firebase.jl","owner":"rdboyes","description":"Julia interface to the Firebase REST API. Covers cloud firestore, cloud storage, firebase authenication, realtime database","archived":false,"fork":false,"pushed_at":"2025-05-29T20:03:58.000Z","size":225,"stargazers_count":29,"open_issues_count":4,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-09-25T02:58:18.941Z","etag":null,"topics":["api","firebase","firebase-jl","firestore","julia","wrapper"],"latest_commit_sha":null,"homepage":"https://rdboyes.github.io/Firebase.jl/","language":"Julia","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rdboyes.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-06-14T11:08:32.000Z","updated_at":"2025-05-29T19:18:45.000Z","dependencies_parsed_at":"2024-10-28T11:34:41.419Z","dependency_job_id":"a5bf0275-7bd0-4084-a8f2-280517912963","html_url":"https://github.com/rdboyes/Firebase.jl","commit_stats":{"total_commits":50,"total_committers":2,"mean_commits":25.0,"dds":0.06000000000000005,"last_synced_commit":"5b7c67a46f728a5c6550f4a950d50c122f09d9e8"},"previous_names":["ashwanirathee/firebase.jl","ashwani-rathee/firebase.jl","rdboyes/firebase.jl"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/rdboyes/Firebase.jl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rdboyes%2FFirebase.jl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rdboyes%2FFirebase.jl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rdboyes%2FFirebase.jl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rdboyes%2FFirebase.jl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rdboyes","download_url":"https://codeload.github.com/rdboyes/Firebase.jl/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rdboyes%2FFirebase.jl/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278621836,"owners_count":26017253,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-06T02:00:05.630Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","firebase","firebase-jl","firestore","julia","wrapper"],"created_at":"2025-08-25T14:01:54.631Z","updated_at":"2025-10-06T13:53:15.771Z","avatar_url":"https://github.com/rdboyes.png","language":"Julia","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Firebase.jl : Julia Firebase\n![](https://i.imgur.com/wQ8boAw.png)\n| **Documentation** | **Build Status** | **Information** |\n|:-:|:-:|:-:|\n| [![Docs](https://img.shields.io/badge/docs-dev-blue.svg)](https://ashwani-rathee.github.io/Firebase.jl/dev/) | [![Build Status](https://travis-ci.com/Xh4H/Discord.jl.svg?branch=master)](https://travis-ci.com/Xh4H/Discord.jl) | [![Discord](https://img.shields.io/badge/discord-join-7289da.svg)](https://discord.gg/5vAJyZsS) [![License](https://img.shields.io/github/license/Xh4H/Discord.jl.svg)](https://github.com/ashwani-rathee/Firebase.jl/blob/main/LICENSE) |\n\nFirebase.jl is the solution for working with [Firebase](https://firebase.google.com/) with the [Julia programming language](https://julialang.org).\n\n## Notes:\n\u003eFirebase isn't endorsing this project and hasn't built this project. So use it at your own discretion and risk. \n\u003eThis package was almost entirely written by @ashwanirathee, I am just maintaining it so it will continue to work with new julia releases.\n# Installation\n\nStable Version\n```julia\n# Enter ']' from the REPL to enter Pkg mode.\npkg\u003e add Firebase\n```\n\nDev Version\n```julia\nusing Pkg\n# Enter ']' from the REPL to enter Pkg mode.\npkg\u003e add https://github.com/rdboyes/Firebase.jl.git\n```\n\n\n# Cloud Firestore\n\nTo fetch a document\n```julia\nusing Firebase\n\nFirebase.init(\"[FIREBASE_ADMIN_SDK].json\") # just init() works too\n\n# if you have multiple sdk key files, in your project make a firebase folder and put all key in that folder\nFirebase.init()\n```\n\nFirebase.init() will look something like this:\n```\njulia\u003e Firebase.init()\nChoose your admin sdk key for use:\n   firebase/2.json\n \u003e firebase/fir-jl-457eb-firebase-adminsdk-40928-b1054bfad0.json\nProject Admin SDK key is firebase/fir-jl-457eb-firebase-adminsdk-40928-b1054bfad0.json now!!\nproject_id: fir-jl-457eb\nclient_email: firebase-adminsdk-40928@fir-jl-457eb.iam.gserviceaccount.com\n```\n\nTo get document or a collection:\n\n```julia\nres = get_request(\"/firebase_test/firebase_get\") # document get\nres = get_request(\"/firebase_test/firebase_get/firebase_get_collection\") # collection fetch\n```\n\nTo Update/Insert a document\n```julia\ninit(\"[FIREBASE_ADMIN_SDK].json\")\nfirestore_patch(\"/firebase_test/firebase_patch\")\n```\n\nTo get list of documents\n```julia\ninit(\"[FIREBASE_ADMIN_SDK].json\")\nfirestore_getdoclist(\"/firebase_test\")\n```\n# Realtime Database\n\nInitializing the realdb for the base url, reduces the effort later\n```julia\nrealdbinit(\"https://fir-jl-457eb-default-rtdb.asia-southeast1.firebasedatabase.app\")\nBase Url set:\"https://fir-jl-457eb-default-rtdb.asia-southeast1.firebasedatabase.app\"\n```\n\n## GET - Reading Data\nData from your Realtime Database can be read by issuing an HTTP GET request to an endpoint. The following example demonstrates how you might retrieve a user's name that you had previously stored in Realtime Database.\n\n```julia\njulia\u003e realdb_get(\"/firebase_test\")\nulia\u003e realdb_get(\"/firebase_test\")\nFINAL URL: \"https://fir-jl-457eb-default-rtdb.asia-southeast1.firebasedatabase.app/firebase_test.json\"\nGET successful\nDict{String, Any} with 3 entries\n```\n\n## POST - Pushing Data\nTo accomplish the equivalent of the JavaScript push() method (see Lists of Data), you can issue a POST request.\nA successful request is indicated by a 200 OK HTTP status code. The response contains the child name of the new data specified in the POST request.\n\n```julia\njulia\u003e realdb_post(\"/firebase_test/firebase_new/\",\"\"\"{\"hello\":1}\"\"\")\nFINAL URL: \"https://fir-jl-457eb-default-rtdb.asia-southeast1.firebasedatabase.app/firebase_test/firebase_new.json\"\nPOST successful\nDict{String, Any} with 1 entry:\n  \"name\" =\u003e \"-McElRx3ZBP-l7pCF0LN\"\n```\n\n## DELETE - Removing Data\nYou can delete data with a DELETE request\nA successful DELETE request is indicated by a 200 OK HTTP status code with a response containing JSON null.\n\n```julia\njulia\u003e realdb_delete(\"/firebase_test/firebase_new\")\nhttps://fir-jl-457eb-default-rtdb.asia-southeast1.firebasedatabase.app/firebase_test/firebase_new.json\nDELETE successful\n```\n\n## PUT - Writing Data\nYou can write data with a PUT request.\nA successful request is indicated by a 200 OK HTTP status code. The response contains the data specified in the PUT request.\n\n```julia\njulia\u003e realdb_put(\"/firebase_test/firebase_new/\",\"\"\"{\"hello\":1}\"\"\")\nFINAL URL: \"https://fir-jl-457eb-default-rtdb.asia-southeast1.firebasedatabase.app/firebase_test/firebase_new.json\"\nPUT successful\nDict{String, Any} with 1 entry:\n  \"name\" =\u003e \"-McElRx3ZBP-l7pCF0LN\"\n```\n\n## Projects using this project\n\n- [Volka-bot](https://github.com/ashwani-rathee/volka-bot.jl) - Bot provides various features like roles setup, rule embed setup, most importantly the ability to track the changes(commits) in github projects, new video releases on youtube and new blog posts after they have been subscribed in the server. To track the changes in the bot, bot check hourly for updates. Multiple git repos, youtube channels and blog subscriptions can be tracked.\n\n## Reference\n\nFor further examples, guides and reference please refer to the documentation linked above.\n\n## Contributing\n\nPull requests are welcome!\nIn most cases, it will be helpful to discuss the change you would like to make on [Discord](https://discord.gg/5vAJyZsS) before diving in too deep.\n\n## Credits\n\nThanks to below mentioned projects as I used them as reference:\n- Josh Day's project:  https://github.com/joshday/Firestore.jl\n- xximranxx's prokect: https://github.com/xximranxx/Firestore.jl\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frdboyes%2Ffirebase.jl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frdboyes%2Ffirebase.jl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frdboyes%2Ffirebase.jl/lists"}