This project showcases a 'My Places' app that was built Serverless and AWS Lambda. The app allows users to add their favourite places to visit around the world and upload a photo of each place.
The project is split into two parts:
- The Simple Frontend A basic React client web application which consumes the Place RestAPI Backend.
- The RestAPI Place Backend, a Serverless powered Place RestAPI Backend.
tip: this frontend is designed to work with the RestAPI backends. It is recommended you stand up the backend first, test using Postman, and then the frontend should integrate.
This project depends on Nodejs and Node Package Manager (NPM). Before continuing, you must download and install Node (NPM is included) from https://nodejs.com/en/download.
The Serverless Command Line Interface is required to develop, deploy, troubleshoot and secure your serverless application. Instructions for installing the CLI can be found in the Serverless Framework Documentation.
Run npm i -g serverless
to download and install all the Serverless Framework dependencies.
Configure your aws credentials into serverless using the command sls config credentials --provider aws --key YOUR_ACCESS_KEY --secret YOUR_SECRET_KEY --profile serverless
This project uses NPM to manage software dependencies. NPM Relies on the package.json file located in the root of this repository. After cloning, open your terminal and run:
npm install
tip: npm i is shorthand for npm install
- Open a new terminal within the backend directory:
- Install project dependencies with
npm i
- Run
sls deploy -v
to upload the code to your aws account
- Open a new terminal within the client directory:
- Install project dependencies with
npm i
- Start the development server with
npm start
- Open the browser at
localhost:3000
Import the collection-postman.json
file into your Postman app to import all the requests.
- React - The web framework used
- Javascript - The programming language used
- Node.js® - The JavaScript runtime used
- AWS API Gateway - AWS managed service used to create, publish, maintain, monitor, and secure APIs
- AWS Lambda - AWS managed service used to run code without provisioning or managing servers
- Serverless - The framework used to develop, deploy, monitor and secure serverless applications on the cloud
- Pemberai Sweto - Initial work - Serverless My Places Application
- This project is licensed under the MIT License - see the LICENSE.md file for details
- Copyright 2020 © Pemberai Sweto.