{"id":15481224,"url":"https://github.com/dalenguyen/serverless-rest-api","last_synced_at":"2025-10-23T17:27:05.030Z","repository":{"id":81775644,"uuid":"138948244","full_name":"dalenguyen/serverless-rest-api","owner":"dalenguyen","description":"Building RESTful Web APIs with Firebase Cloud Function, Firestore, Express and TypeScript","archived":false,"fork":false,"pushed_at":"2019-10-19T01:19:50.000Z","size":18,"stargazers_count":110,"open_issues_count":2,"forks_count":54,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-04-15T14:54:35.053Z","etag":null,"topics":["api","api-server","cloud-functions","firebase","firestore","restful-api","serverless"],"latest_commit_sha":null,"homepage":"https://medium.com/@dalenguyen/building-a-serverless-restful-api-with-cloud-functions-firestore-and-express-f917a305d4e6","language":"TypeScript","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/dalenguyen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"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},"funding":{"github":"dalenguyen","patreon":null,"open_collective":null,"ko_fi":"dalenguyen","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2018-06-28T00:51:55.000Z","updated_at":"2025-03-04T22:36:29.000Z","dependencies_parsed_at":null,"dependency_job_id":"b91f1841-c836-4880-a531-d17f532943ae","html_url":"https://github.com/dalenguyen/serverless-rest-api","commit_stats":{"total_commits":11,"total_committers":3,"mean_commits":"3.6666666666666665","dds":0.4545454545454546,"last_synced_commit":"11cda60e513fe96996911d56f02fff297d52239a"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dalenguyen/serverless-rest-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dalenguyen%2Fserverless-rest-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dalenguyen%2Fserverless-rest-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dalenguyen%2Fserverless-rest-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dalenguyen%2Fserverless-rest-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dalenguyen","download_url":"https://codeload.github.com/dalenguyen/serverless-rest-api/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dalenguyen%2Fserverless-rest-api/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266161900,"owners_count":23885927,"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","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","api-server","cloud-functions","firebase","firestore","restful-api","serverless"],"created_at":"2024-10-02T05:02:42.321Z","updated_at":"2025-10-23T17:27:04.966Z","avatar_url":"https://github.com/dalenguyen.png","language":"TypeScript","funding_links":["https://github.com/sponsors/dalenguyen","https://ko-fi.com/dalenguyen"],"categories":[],"sub_categories":[],"readme":"# Building Serverless RESTful Web APIs with Cloud Functions, Firestore, Express and TypeScript\n\nThis is a simple API that saves contact information of people. \n\n## Requirements\n\n[NodeJS](https://nodejs.org/en/)\n\nYou will need a Firebase project and firebase tools cli\n\n```\nnpm install -g firebase-tools\n```\n\n## Getting Started\n\nYou can follow the guide on [Medium](https://medium.com/@dalenguyen/building-a-serverless-restful-api-with-cloud-functions-firestore-and-express-f917a305d4e6) or clone this repository.\n\n## Clone this repository\n\n```\ngit clone git@github.com:dalenguyen/serverless-rest-api.git .\n```\n\nYou need to change the firebase project name in *.firebaserc* file.\n\nAfter that, you can log in to firebase in the terminal \n\n```\nfirebase login\n```\n\n## Deploy to firebase\n\nFor the first time, you have deploy the hosting and functions together\n\n```\nfirebase deploy\n```\n\nAfter that, you just need to deploy functions only\n\n```\nfirebase deploy --only functions\n```\n\n## Trouble shooting \n\nIf you have the **declare namespace FirebaseFirestore**, please comment the content of **node_modules/@google_cloud/firestore/types/firestore.d.ts**. After that you can test the api locally or deploy it to the cloud.\n\nIf you cannot do it, please \"\".firebaserc\" has to be deleted and \"firebase init\" need to be run again.\" - Thanks to [techboycr](https://github.com/dalenguyen/serverless-rest-api/issues/1).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdalenguyen%2Fserverless-rest-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdalenguyen%2Fserverless-rest-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdalenguyen%2Fserverless-rest-api/lists"}