All Projects → Codebrahma → serverless-grocery-app

Codebrahma / serverless-grocery-app

Licence: other
Grocery Purchase app with serverless AWS Lambda + DynamoDB + React

Programming Languages

javascript
184084 projects - #8 most used programming language
CSS
56736 projects
HTML
75241 projects

Projects that are alternatives of or similar to serverless-grocery-app

Moonmail
Email marketing platform for bulk emailing via Amazon SES (Google Cloud Platform and Azure coming soon)
Stars: ✭ 1,766 (+6207.14%)
Mutual labels:  serverless-applications, serverless-examples
Serverless Express
Run Node.js web applications and APIs using existing application frameworks on AWS #serverless technologies such as Lambda, API Gateway, Lambda@Edge, and ALB.
Stars: ✭ 4,265 (+15132.14%)
Mutual labels:  dynamodb, serverless-applications
Serverless Appsync Plugin
serverless plugin for appsync
Stars: ✭ 804 (+2771.43%)
Mutual labels:  dynamodb, serverless-applications
redux-saga-rn-alert
Alert.alert()-Support for side effects with redux-saga in react-native-apps
Stars: ✭ 23 (-17.86%)
Mutual labels:  react-redux
cerebro-web
Website for Cerebro
Stars: ✭ 21 (-25%)
Mutual labels:  react-redux
react-native-shopping-app
A shopping app using React Navigation, Redux, Redux-Thunk and Firebase.
Stars: ✭ 67 (+139.29%)
Mutual labels:  react-redux
react-native-boilerplate
React Native Boilerplate - React Native Starter Kits : react-navigation and its dependencies, redux, redux persist and redux thunk, redux toolkit, react native vector icons, react-native async storage
Stars: ✭ 68 (+142.86%)
Mutual labels:  react-redux
super-serverless-sample
Backend serverless que simula o sistema de votação do BBB
Stars: ✭ 30 (+7.14%)
Mutual labels:  dynamodb
kodlama.io-javareactcamp
Java - React Camp Works | Kodlama.io
Stars: ✭ 33 (+17.86%)
Mutual labels:  react-redux
SHOPMATE
front-end e-commerce system
Stars: ✭ 12 (-57.14%)
Mutual labels:  react-redux
cra-redux-boilerplate
⚛️🔨create-react-app application with redux and another cool libraries to make your life easier.
Stars: ✭ 15 (-46.43%)
Mutual labels:  react-redux
twitter
A serverless social network that's under development with some cool stuff, such as Serverless Framework, AppSync, GraphQL, Lambda, DynamoDB, Cognito, Kinesis Firehose, and Algolia ☁️
Stars: ✭ 29 (+3.57%)
Mutual labels:  dynamodb
tomatoro
Time management tool based on Pomodoro Technique.
Stars: ✭ 23 (-17.86%)
Mutual labels:  react-redux
hyper-kube-config
H Y P E R K U B E - A Serverless API and kubectl plugin providing a storage and retrieval Kubernetes cluster credentials. Hyperkube leverages AWS Secrets Manager for storing credential information.
Stars: ✭ 27 (-3.57%)
Mutual labels:  dynamodb
okdux
redux made ok 👌
Stars: ✭ 16 (-42.86%)
Mutual labels:  react-redux
graphql-pynamodb
Graphene PynamoDB Integration
Stars: ✭ 63 (+125%)
Mutual labels:  dynamodb
react-zhufengapp
这是珠峰培训react课程前端页面
Stars: ✭ 11 (-60.71%)
Mutual labels:  react-redux
crynamo
DynamoDB client for Crystal.
Stars: ✭ 14 (-50%)
Mutual labels:  dynamodb
iis
开源微博平台 Open source cloud powered microblog
Stars: ✭ 42 (+50%)
Mutual labels:  dynamodb
react-redux-exercise
Exercise to understand better react-redux, how it works and how to use it.
Stars: ✭ 48 (+71.43%)
Mutual labels:  react-redux

App Demo https://media.giphy.com/media/1sw6syoMDm6QEu9Stk/giphy.gif

What this app about ?

This is a mock grocery purchase app built on the serverless technology.

  1. Serverless Lambda Functions were written to serve as a backend REST APIs.
  2. Front End is done with React which uses those APIs

Motivation

To explore the limit of serverless framework

Tech Stack

image

Functionalities

App will have users who can register / login

  1. List of grocery items based on various categories (Eatable, drinkable, cookable, hyigene)
  2. Add items to cart if that stock is present for a grocery item.
  3. Checking out from a cart to place order
  4. Payment for an order / Cancelling the order

To be built

  1. A global search bar for item search
  2. Chat functionality between users and customer support (Admin of the app)

Prerequisites:

  1. Install AWS CLI
  2. Add user based on AWS credentials which will be shared directly.
  3. Auth will be currently based on AWS Cognito. Login / Registration will be handled by the front end auth module directly with the cognito. Lambda functions won't be responsible for auth. It requires an userId (AccessKeyId) based on which we will maintain the DB.
  4. All other APIs will be working locally.
  5. Front End would be developed locally and finally deployed on S3.

Accounts Required to deploy on cloud

  1. Cognito user pool to be created which will manage users in the app. You need to specify it on the front end as mentioned later in the readme. Also For backend refer To Setup Backend point 10
  2. Deployment will use S3, API gateway and lambda functions along with DynamoDB. Ensure that you have access in your AWS on which it will be deployed

To setup Backend:

  1. Choose a region as per AWS (Our App is ap-south-1).
  2. Check out utils/config.js and change the region as per that. Choose db url locally or accordingly on Cloud. For more details look at https://docs.aws.amazon.com/general/latest/gr/rande.html
  3. Install AWS DynamoDB for this region locally and run the server which will default to port 8000.
  4. npm run initialize-db to create all db tables with populated value (Local / cloud depending upon the config url)
  5. At any moment you can use npm run reinitialize-db to flush all the data present in the tables.
  6. For the current version auth should be used with cognito.
  7. npm install -g serverless to install serverless globally
  8. npm install in the backend repository.
  9. npm run start will start the serverless backend offline.
  10. Certain routes are protected by cognito pool. Change the serverles.yaml as per your cognito pool to have authenticated routes.

To setup Frontend:

  1. Create .env file under packages/CB-serverless-frontend folder with below variables: REACT_APP_REGION=XXXXXX REACT_APP_URL=http://localhost:3000 REACT_APP_REGION=XXXXXX REACT_APP_USER_POOL_ID=XXXXXX REACT_APP_APP_CLIENT_ID=XXXXXX REACT_APP_IDENTITY_POOL_ID=XXXXXX

you can use 4242 4242 4242 4242 for card number or refer stripe for more.

  1. npm install to install
  2. npm run start to start
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].