Giter Site home page Giter Site logo

dalenguyen / serverless-rest-api Goto Github PK

View Code? Open in Web Editor NEW
109.0 12.0 54.0 18 KB

Building RESTful Web APIs with Firebase Cloud Function, Firestore, Express and TypeScript

Home Page: https://medium.com/@dalenguyen/building-a-serverless-restful-api-with-cloud-functions-firestore-and-express-f917a305d4e6

TypeScript 44.27% HTML 38.32% JavaScript 17.41%
api api-server firebase firestore cloud-functions restful-api serverless

serverless-rest-api's Introduction

Building Serverless RESTful Web APIs with Cloud Functions, Firestore, Express and TypeScript

This is a simple API that saves contact information of people.

Requirements

NodeJS

You will need a Firebase project and firebase tools cli

npm install -g firebase-tools

Getting Started

You can follow the guide on Medium or clone this repository.

Clone this repository

git clone [email protected]:dalenguyen/serverless-rest-api.git .

You need to change the firebase project name in .firebaserc file.

After that, you can log in to firebase in the terminal

firebase login

Deploy to firebase

For the first time, you have deploy the hosting and functions together

firebase deploy

After that, you just need to deploy functions only

firebase deploy --only functions

Trouble shooting

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

If you cannot do it, please "".firebaserc" has to be deleted and "firebase init" need to be run again." - Thanks to techboycr.

serverless-rest-api's People

Contributors

hoangvvo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

serverless-rest-api's Issues

Function request returns google auth page

When trying to request the deployed function, I'm meet with a Google Authentification page
image

Rather than cloning the repo, I wrote the code following the blogs post. Already turned authentification of the project to Anonymous

subcollection

trying to get the sub collection as described in the readme. not having any luck.

would like to return the subs collection and its documents the same. First is the latest attempt to get this to work. Second is what does work but never gets the sub collection. ****PLEASE HELP

`app.get('/', (req, res) => {
firebaseHelper.firestore
.backup(db, syndicatedCollection, cityCollection)
.then(data => console.log(JSON.stringify(data)));
})

app.get('/syndicated/:orgType/city/:cityName', (req, res) => {
firebaseHelper.firestore
.getDocument(db, syndicatedCollection, req.params.cityName)
.then(doc => res.status(200).send(doc));
})`

[key: string]: any; // Accept other properties, such as GRPC settings.

Found 3 errors.

npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR! functions@ build: tsc
npm ERR! Exit status 2
npm ERR!
npm ERR! Failed at the functions@ build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:

Getting error : Cannot find name 'Contact'

I am getting the following error : -

i  deploying functions, hosting
Running command: npm --prefix ./functions/ run lint

> functions@ lint /Users/anila/Firebase/functions
> tslint --project tsconfig.json

Running command: npm --prefix ./functions/ run build

> functions@ build /Users/anila/Firebase/functions
> tsc

src/index.ts:21:24 - error TS2304: Cannot find name 'Contact'.

21         const contact: Contact = {
                          ~~~~~~~


Found 1 error.

npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR! functions@ build: `tsc`
npm ERR! Exit status 2
npm ERR! 
npm ERR! Failed at the functions@ build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/anila/.npm/_logs/2020-01-29T07_50_28_164Z-debug.log

Error: functions predeploy error: Command terminated with non-zero exit code2

Am I doing anything wrong?

Failed at the functions@ build script error

Thanks for your great tutorial! However I can't seem to get past this error, do you know what's wrong?

src/index.ts:1:1 - error TS6133: 'functions' is declared but its value is never read.

1 import * as functions from 'firebase-functions';
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


Found 1 error.

npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR! functions@ build: `tsc`
npm ERR! Exit status 2
npm ERR! 
npm ERR! Failed at the functions@ build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/Arthur/.npm/_logs/2020-02-02T09_12_25_125Z-debug.log

Error: functions predeploy error: Command terminated with non-zero exit code2

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.