Skip to main content



Find out how to build an online ebook shop from beginning to conclude with AWS, Respond, and Stripe. The project takes advantage of Amplify, AppSync, DynamoDB, S3, Lambda solutions in AWS and Respond Hooks, Context API in ReactJS. You will find out how all these technologies suit together.

💻 Code:

✏️ Movie established by Manoj Fernando. Test out his YouTube channel:

🎥 Master how much it charge for Manoj to build and run this keep:

⭐️ Contents ⭐️
⌨️ (00:00) Introduction
⌨️ (01:37) Agenda
⌨️ (03:14) Solution Demo
⌨️ (06:16) Architecture Diagram Discussion
⌨️ (08:42) Location up the Job
⌨️ (09:24) Initializing an Amplify Project
⌨️ (11:25) Adding Authentication with Cognito
⌨️ (11:52) Create an S3 Bucket to Keep Illustrations or photos
⌨️ (13:04) Make Lambda Features to Course of action Purchase (Pipeline Resolver)
⌨️ (29:08) Producing Cloud Resources
⌨️ (30:10) Processing E book Orders
⌨️ (33:31) Functioning the Application
⌨️ (42:39) Connecting to Cloud Resources from Respond App
⌨️ (44:51) Verifying Buyer Orders
⌨️ (54:58) Hosting the Internet site on S3

Master to code for absolutely free and get a developer position:

Browse hundreds of articles on programming:

And subscribe for new movies on technological know-how every day:

36 Comments

  • Can anyone tell me the VS Code theme he is using? Thanks in advance 😊

  • Space_Monkey says:

    Do you need to pay amazon to create aws account?

  • Can you share the cost of setting this up and what it costs per month to maintain this store? I have not overcome my fear that AWS can get really expensive fast!

  • Thanks Manoj for such informative and awesome video. I really needed this.

  • This is nice, but it's very far away from best practices. Like having a discrete table for many to many relations. Best practice for DynamoDB is to have a single table for your application only.

  • This guy seems very positive.

  • Simona G. says:

    hello! How could give access to create read update and delete books to all the members but only logged users could see the description of the book ? thank you in advance for your answer!

  • I can't connect to the aws cloud I get error OptInRequired: The AWS Access Key Id needs a subscription for the service. I already became a member

  • Do you need to know AWS and the cloud before watching this?

  • at 37.35 why am i not seeing any users on my amplify console.
    Thanks for the help guys

  • Hi all. Please could someone help. Im getting the "unathorised" error when i try to add a book on the the admin page?

  • Ben Colbert says:

    This is one of the best tutorials I've ever watched.

  • Kadori Pro says:

    My country doesn't accept my aws account. am from nigeria

  • Sannan I says:

    I want to say thank you so much. I have to do a project for my class and had no guidance and no experience with AWS and this video taught me more than what I have learned in class. Your videos are organists ed and structured better than any college professor I had and you explained all the key parts as well!

  • Edward F says:

    Learned a lot from this, Manoj, thanks! I had two showstoper issues, both having to do with yarn, which you didn't discuss in the video.

    1) At about 30 minutes into the video after I did amplify push I got the error

    × An error occurred when pushing the resources to the cloud

    An error occurred during the push operation: Cannot read property 'join' of null

    It is my belief based on some Googling that this unhelpful message was because I didn't have yarn installed before I started coding.

    So, after you install Visual Studio Code, you should run
    yarn version
    to see if yarn is installed. If not, you should install it with

    npm install -g yarn

    Once I was fully 30 minutes in, the only way I found to get around the error was to install yarn as described above and then start all over from the very beginning with new code.

    2) I got error "amplify publish npm err! missing script: build" after running the last step (amplify publish)
    I solved this by running yarn build before amplify publish.

  • Harry says:

    Stripe Charges API is almost pointless at this point …. Would love an update with stripe paymentintents

  • Avish Gupta says:

    there is some discrepancy in coding.. in Graphql we get only todo table details however in the video book list and get books in mutation and query.ql

  • Kevin Paz says:

    I got to 47:40 and I see there are no Lambda functions there. That happen to anyone else? I was following along exactly, getting no errors in the terminal and local running was fine up until that point….

  • How would you add the lambda function to email invoice?

  • jake lucas says:

    proud of you ( Sri lankan)

  • satyam garg says:

    > book-store-v2@0.1.0 start C:UsersMr_grgDesktopmy-pets

    > react-scripts start

    There might be a problem with the project dependency tree.

    It is likely not a bug in Create React App, but something you need to fix locally.

    The react-scripts package provided by Create React App requires a dependency:

    "babel-eslint": "^10.1.0"

    Don't try to install it manually: your package manager does it automatically.

    However, a different version of babel-eslint was detected higher up in the tree:

    C:UsersMr_grgDesktopmy-petsnode_modulesbabel-eslint (version: 10.0.0)

    Manually installing incompatible versions is known to cause hard-to-debug issues.

    If you would prefer to ignore this check, add SKIP_PREFLIGHT_CHECK=true to an .env file in your project.

    That will permanently disable this message but you might encounter other issues.

    To fix the dependency tree, try following the steps below in the exact order:

    1. Delete package-lock.json (not package.json!) and/or yarn.lock in your project folder.

    2. Delete node_modules in your project folder.

    3. Remove "babel-eslint" from dependencies and/or devDependencies in the package.json file in your project folder.

    4. Run npm install or yarn, depending on the package manager you use.

    In most cases, this should be enough to fix the problem.

    If this has not helped, there are a few other things you can try:

    5. If you used npm, install yarn (http://yarnpkg.com/) and repeat the above steps with it instead.

    This may help because npm has known issues with package hoisting which may get resolved in future versions.

    6. Check if C:UsersMr_grgDesktopmy-petsnode_modulesbabel-eslint is outside your project directory.

    For example, you might have accidentally installed something in your home folder.

    7. Try running npm ls babel-eslint in your project folder.

    This will tell you which other package (apart from the expected react-scripts) installed babel-eslint.

    If nothing else helps, add SKIP_PREFLIGHT_CHECK=true to an .env file in your project.

    That would permanently disable this preflight check in case you want to proceed anyway.

    P.S. We know this message is long but please read the steps above 🙂 We hope you find them helpful!

    npm ERR! code ELIFECYCLE

    npm ERR! errno 1

    npm ERR! book-store-v2@0.1.0 start: `react-scripts start`

    npm ERR! Exit status 1

    npm ERR!

    npm ERR! Failed at the book-store-v2@0.1.0 start 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! C:UsersMr_grgAppDataRoamingnpm-cache_logs2021-01-21T13_48_41_707Z-debug.log

  • MicroUrb says:

    So do you have to use AWS-Amplify? Why not just connect React directly to a backend Express API? Not challenging you, just asking for insight into this architecture.

  • Idea V says:

    Do you have a video explaining your code or how you coded the app?

  • Pat Guillen says:

    this was awesome!

  • Lots of love … U guys deserve all wishes and success ❤️

  • this is very helpful! thank you so much <3

  • Sai Charan says:

    const {featured} = useContext(ItemContext);

    if (!featured.length) {

    return <h3>No Featured Items</h3>

    }

    These lines of code don't work in the file: home.js
    This is the error:
    TypeError: Cannot destructure property 'featured' of 'Object(…)(…)' as it is undefined.

  • Excellent tutorial with a broad range of topics covered. Thanks so much, Manoj!

  • Fasso Yangce says:

    How much do these services cost per month all together?

  • Ali Husham says:

    I tried too many deployment tutorials including docker tutorials non of the worked with me 🤦🤦😭😭 evry yime i got a log with errors and they don't make any sense and the websites that i tried yo deploy all work locally very well. but i will try this one anyway,

  • Jayden Urch says:

    Absolutely fantastic. Just the right amount of details and (almost) every time something breaks, it's expected and addressed.

    If you get the Access Denied error when hitting the /admin URL, here's the fix:

    "The solution is to navigate to AWS console, select “ Rewrites and redirects ”, add a new rewrite and redirects, click on “ Open text editor ”, and add the below rule:"

    [

    {

    "source": "</^[^.]+$|\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|ttf)$)([^.]+$)/>",

    "target": "/index.html",

    "status": "200",

    "condition": null

    }

    ]

  • The tutorial is good but some things sucks as most users use windows not macos but after running npm install I got ton of errors like it wasn't supported on latest Windows 10
    Errors:npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.1.2 (node_modulesreact-scriptsnode_modulesfsevents):

    npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.1.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})

    npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.12 (node_modulesfsevents):

    npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.12: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
    There were even more somehow I solved it by googling even on github it states by developers that it's already a problem.
    The code did run in the end but not so sure how it will work.

  • Indian tech support scammer

Leave a Reply