Skip to content
A little serverless eCommerce web app built with React, Stripe and Netlify
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
public
src
.eslintrc
.gitignore
.prettierrc
README.md
netlify.toml
package-lock.json
package.json

README.md

Serverless Shop Tutorial

View demo

There's also an accompanying tutorial blog post.

This project was bootstrapped with Create React App.

This project is based on Create React App v2 and netlify-lambda v1. (For more information about Create react App, check their full documentation.)

The main addition is a new folder: src/lambda. Each JavaScript file in there will automatically be prepared for Lambda function deployment.

Local Development

Before developing, clone the repository and run npm install from the root of the repo to install all dependencies.

Option 1: Starting both servers at once

Most people should be able to get up and running just by running:

npm start

This uses npm-run-all to run the functions dev server and app dev server concurrently.

Option 2: Start each server individually

Run the functions dev server

From inside the project folder, run:

npm start:lambda

This will open a local server running at http://localhost:9000 serving your Lambda functions, updating as you make changes in the src/lambda folder.

You can then access your functions directly at http://localhost:9000/{function_name}, but to access them with the app, you'll need to start the app dev server. Under the hood, this uses react-scripts' advanced proxy feature with the setupProxy.js file.

Run the app dev server

While the functions server is still running, open a new terminal tab and run:

npm run start:app

This will start the normal create-react-app dev server and open your app at http://localhost:3000.

Local in-app requests to the relative path /.netlify/functions/* will automatically be proxied to the local functions dev server.

You can’t perform that action at this time.