In this project a full stack clone of amazon website will be created just for development purposes.
- JavaScript
- React
- Express
- SQL
- TailwindCSS
- Redux
- Axios
- Stripe
- Node
- HTML
You can check how to install the dependencies on the Environment and Project Set Up section
- npm should be installed
- node.js should be installed
- express.js should be installed
- nodemon should be installed
- stripe should be installed
- dotenv should be installed
- bcrypt should be installed
- body-parser should be installed
- jsonwebtoken should be installed
- postgreSQL should be installed
- cors should be installed
- react should be installed
- react-router-dom should be installed
- tailwindcss should be installed
- swiper should be installed
- heroicons should be installed
- axios should be installed
- redux should be installed
Install npm
After installing npm on a global scope, you should create two folders, one for the server and one for the client
To create a project with the initial package.json
Install express
Install nodemon as a devDependency
Install Stripe (to process payments)
Install dotenv (to load environment variables)
Install bcrypt (to hash passwords)
Install body-parser (to parse the body of the requests)
Install jsonwebtoken (to get a token with the logged user)
Install postgreSQL (to interact with the postgreSQL DBs)
Install cors (to allow traffic between client and server)
Creates the react app
- Note that the name of the project cannot contain Capital letters
- The ./ will create the react app on the current folder from the console that is triggered
Install react router dom, which will be used to navigate between pages
To install tailwind just follow the steps on the documentation
Install the swiper, which will be used to swipe through the carousels
Install heroicons, which will be used to get some icons
Install axios, to make API calls
Install redux, to pass states through components (like the amount of items in card and so on)
You can see all this scripts in the package.json
In the server directory, you can run:
Runs the app in the development mode with nodemon.
Open http://localhost:5000 to view it in your browser.
Runs the app with node.
Open http://localhost:5000 to view it in your browser.
In the client directory, you can run:
Runs the app in the development mode.
Open http://localhost:3000 to view it in your browser.
The page will reload when you make changes.
You may also see any lint errors in the console.