This is a full-stack serverless web application developed using TypeScript, React, SCSS, Node/Express, Google Firebase and tested with Jest and React Testing Library.
The live application is hosted using firebase, please find the link below:
- For the React front-end application, we use function components to create independent, resuable UI pieces, and React-Router-dom to perform the browser router.
- Used React context API and useReducer hook to manage the global state of the application.
- We used SCSS to style the components.
- Set up Eslint with Airbnb Style Guide.
- Handle error boundary with React-Error-Boundary package.
- Used Firebase Authentication to handle user sign in, sign up and sign out.
- Used Sanity to perform the CMS, to store the structured data.
- Implement payment checkout with Stripe.
- Used Google Cloud Functions to build highly scalable severless back-end services, like setting up checkout payment with Stripe, receiving and verifying successful payments using Stripe Webhook, and writing and querying the order details to/from the Firebase Firestore database.
We use Github Action to perform CI/CD, that automatically run the test on every pull request, and deploy on every merge to master branch.
Jest and React Testing Library.
When playing around with this Amazon Clone App, for the payment page, please just use the test card details (all 42) as below: