{"id":40816264,"url":"https://github.com/voltgizerz/rest-api-go-firestore","last_synced_at":"2026-01-21T21:41:30.226Z","repository":{"id":186467402,"uuid":"675223322","full_name":"voltgizerz/rest-api-go-firestore","owner":"voltgizerz","description":"Go REST API with Firebase Firestore","archived":false,"fork":false,"pushed_at":"2025-10-17T14:08:21.000Z","size":102,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-18T04:39:18.511Z","etag":null,"topics":["firebase","firestore-database","go","hacktoberfest","jwt-authentication","nosql","rest-api"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/voltgizerz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-08-06T07:41:06.000Z","updated_at":"2025-10-18T02:09:46.000Z","dependencies_parsed_at":null,"dependency_job_id":"7df32888-eee6-45ef-aeb6-dec96447e4b3","html_url":"https://github.com/voltgizerz/rest-api-go-firestore","commit_stats":null,"previous_names":["voltgizerz/rest-api-go-firestore"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/voltgizerz/rest-api-go-firestore","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voltgizerz%2Frest-api-go-firestore","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voltgizerz%2Frest-api-go-firestore/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voltgizerz%2Frest-api-go-firestore/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voltgizerz%2Frest-api-go-firestore/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/voltgizerz","download_url":"https://codeload.github.com/voltgizerz/rest-api-go-firestore/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voltgizerz%2Frest-api-go-firestore/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28644149,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-21T21:29:11.980Z","status":"ssl_error","status_checked_at":"2026-01-21T21:24:31.872Z","response_time":86,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["firebase","firestore-database","go","hacktoberfest","jwt-authentication","nosql","rest-api"],"created_at":"2026-01-21T21:41:29.550Z","updated_at":"2026-01-21T21:41:30.221Z","avatar_url":"https://github.com/voltgizerz.png","language":"Go","readme":"# REST API Go With Firebase Cloud Firestore\nSimple REST APIs with database firebase cloud firestore\n# Build With\n- Go 1.23.2 or higher\n- JWT Authorization\n- [Cloud Firestore](https://firebase.google.com/docs/firestore/quickstart) Database\n\n# How to Run Project\n\nFollow these steps to run the project:\n\n1. Create a Cloud Firestore database by following this [Guide](https://firebase.google.com/docs/firestore/quickstart).\n\n2. Export your service account credentials on the project settings in the Firebase console. Download the service-account JSON file and convert the JSON into a single-line (minified) format and store it in an environment file named `SERVICE_ACCOUNT_FIREBASE`.\n\n3. Run the application using the following command: `go run ./cmd/app.go`\n\n# GET\nRetrive auth token expires in 1 hour\n- [api/token?client_id=sample\u0026client_secret=BiquzG0JVY3pWPrh8xiVPkbNXyx20Gmn](localhost:8080/api/token?client_id=sample\u0026client_secret=BiquzG0JVY3pWPrh8xiVPkbNXyx20Gmn)\n- Response :\n\n```json \n{\n    \"status\": 200,\n    \"message\": \"Token generated successfully\",\n    \"data\": {\n        \"token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...\",\n        \"type\": \"Bearer\"\n    }\n}\n```\n\n# GET\nRetrive specific user data\n- [api/users/:docRefID](localhost:8080/api/users/:docRefID)\n- Header :\n```sh\nAuthorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...\n```\n- Response :\n\n```json \n{\n    \"status\": 200,\n    \"message\": \"User data retrieved successfully\",\n    \"data\": {\n        \"doc_ref_id\": \"iCOmqSXxG8bJZfVJ8iuj\",\n        \"first_name\": \"Gerald\",\n        \"last_name\": \"Fisher\",\n        \"username\": \"BettyHolmes\",\n        \"email\": \"quia@Flipopia.name\",\n        \"cc_number\": \"4916791396904137\",\n        \"cc_type\": \"Discover\",\n        \"country\": \"Uruguay\",\n        \"city\": \"Santa Monica\",\n        \"currency\": \"Albania Leke\"\n    }\n}\n```\n\n# GET\nRetrive all users data\n- [api/users](localhost:8080/api/users)\n- Header :\n```sh\nAuthorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...\n```\n- Response :\n\n```json \n{\n    \"status\": 200,\n    \"message\": \"Users data retrieved successfully\",\n    \"data\": [\n        {\n            \"doc_ref_id\": \"76KbFdZd8kVCawLNBUle\",\n            \"first_name\": \"Debra\",\n            \"last_name\": \"Washington\",\n            \"username\": \"eum_quia\",\n            \"email\": \"ipsam_ex@Aivee.org\",\n            \"cc_number\": \"5237378900055256\",\n            \"cc_type\": \"VISA\",\n            \"country\": \"Dominican Republic\",\n            \"city\": \"Orinda\",\n            \"currency\": \"Jordan Dinars\"\n        },\n        {\n            \"doc_ref_id\": \"M0tbZqmFkS3J42xWJ697\",\n            \"first_name\": \"Ashley\",\n            \"last_name\": \"Hamilton\",\n            \"username\": \"hNguyen\",\n            \"email\": \"cHunter@Zoonoodle.com\",\n            \"cc_number\": \"379957517654574\",\n            \"cc_type\": \"MasterCard\",\n            \"country\": \"Kazakhstan\",\n            \"city\": \"Ione\",\n            \"currency\": \"United Kingdom Pounds\"\n        },\n        {\n            \"doc_ref_id\": \"XeidVNtUgURCANof8jxc\",\n            \"first_name\": \"James\",\n            \"last_name\": \"Powell\",\n            \"username\": \"mollitia\",\n            \"email\": \"uOliver@Vipe.biz\",\n            \"cc_number\": \"5347663249612785\",\n            \"cc_type\": \"Discover\",\n            \"country\": \"Niue\",\n            \"city\": \"Ione\",\n            \"currency\": \"Bahrain Dinars\"\n        }\n    ]\n}\n```\n\n# POST\nCreate new user\n- [api/users](localhost:8080/api/users)\n- Header :\n```sh\nAuthorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...\n```\n- Body :\n\n```json \n{\n    \"first_name\": \"James\",\n    \"last_name\": \"Powell\",\n    \"Username\": \"mollitia\",\n    \"Email\": \"uOliver@Vipe.biz\",\n    \"cc_number\": \"5347663249612785\",\n    \"cc_type\": \"Discover\",\n    \"Country\": \"Niue\",\n    \"City\": \"Ione\",\n    \"Currency\": \"Bahrain Dinars\"\n}\n```\n\n- Response :\n\n```json \n{\n    \"status\": 201,\n    \"message\": \"User data inserted successfully\",\n    \"data\": {\n        \"doc_ref_id\": \"DYyDOPZ8nJzZWB7Y965J\"\n    }\n}\n```\n\n# PATCH\nUpdate specific user data\n- [api/users/:docRefID](localhost:8080/api/users/:docRefID)\n- Header :\n```sh\nAuthorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...\n```\n- Body :\n\n```json \n{\n    \"first_name\": \"James\",\n    \"last_name\": \"Powell\",\n    \"username\": \"mollitia\",\n    \"email\": \"uOliver@Vipe.biz\",\n    \"cc_number\": \"5347663249612785\",\n    \"cc_type\": \"Discover\",\n    \"country\": \"Niue\",\n    \"city\": \"Ione\",\n    \"currency\": \"Bahrain Dinars\"\n}\n```\n\n- Response :\n\n```json \n{\n    \"status\": 200,\n    \"message\": \"User data updated successfully\"\n}\n```\n\n\n# DELETE\nDelete specific user data\n- [api/users/:docRefID](localhost:8080/api/users/:docRefID)\n- Header :\n```sh\nAuthorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...\n```\n- Response :\n\n```json \n{\n    \"status\": 200,\n    \"message\": \"User data deleted successfully\"\n}\n```","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvoltgizerz%2Frest-api-go-firestore","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvoltgizerz%2Frest-api-go-firestore","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvoltgizerz%2Frest-api-go-firestore/lists"}