Built using React
, the Amazone retailer platform is a full-stack Firebase
e-commerce web application - featuring fully operational authentication protocols, secured storage for history of orders, and Stripe
credit card payment processing functionality. This e-commerce build utilizes ES6/ES7 Syntax
, State
, React Hooks
, Custom Hooks
, Context Providers
, Reducers
, Express Servers
, and more! Note: this platform is for demoing purposes only and not a legitimate online retailer. Do not share sensitive credit card information while testing (loop the number 42 at payment).
Start shopping here.
This application was built with React
. If initiating build, make sure to launch the front-end using npx create-react-app <project-name>
. Initiating the back-end requires firebase init
(within your root) and selecting functions
before constructing.
If cloning to personal machine, open repository in terminal and cd client
. From there, run npm install
to install all modules listed within the package.json
file for the front-end.
Then, in terminal, cd functions
and run npm install
to install all modules listed within the package.json
file for the back-end.
Individual modules to be installed (front-end):
@material-ui/core
@material-ui/icons
@stripe/react-stripe-js
@stripe/stripe-js
axios
firebase
firebase-tools
moment
react-currency-format
react-router-dom
use-state-if-mounted
Individual modules to be installed (back-end):
cors
dotenv
express
stripe
- React.js: front-end UI/UX JavaScript library
- jQuery: front-end JavaScript framework
- NPM [Node Package Manager]: dependency management
- CSS3: style sheet used for presentation within a markup language
- Firebase Authentication: Google-supported UI library for authentication procedure
- Firebase Functions: Google-supported back-end framework
- Express.js: de facto standard server framework for Node.js.
- Stripe API: RESTful API for processing payments structures
- Firestore: Google-supported NoSQL database
Jordan Hunter
Future features to be implemented:
- Search bar navigation
- More user interaction (username, stored address, wishlist)
- Optimization for mobile viewing
Star it. Clone it. Modify it. Submit a PR.
Fork it to your own repository, even. Keep yourself a copy and go wild.
For any questions, please contact me with the information below:
GitHub: @jordanwhunter
Email: Contact Developer