We run a business of selling clothes. We want to create a merchandising web app that take our business online to expand the market.
The app consists of 2 parts: a website and an api server. The website is a simple e-commerce site that list clothings that we add. The api server handles request made by the seller such as adding or removing listings. ES6 to be used in the code.
- You need to setup Mongodb in local machine
All the code required to get started
- Clone this repo to your local machine using
https://github.com/nhuttm/InternshipProject.git
- Open terminal and go to project: cd ~DIRECTORY/website
- Install the dependencies in the local node_modules folder.
cd client
npm install
cd server
npm install
Run server and client
- In client:
npm start
- In server:
npm start dev
Create dummy data in db
- Open browser:
localhost:2000/createData
Contact with me at one of the following places!
- Email: huanhiendanh@gmail.com
- Understand something about ES6: Arrow function, let and const, modules, map, set, class, template strings.
- Some main concept about React js: Rendering elemnets, Components and Props, State and lifecycle
- Main concept of React JS, Lifecycle hook, State, Handle event, Structure of React app
- Learn git workflow and training with git.
- Learn Redux library: workflow, action, reducer, store, basic syntax to connect.
- Train React and Redux.
- Learn mongodb structure.
- Node server api. request data from local database mongodb
- Call node server api from react, call api with redux
- Review all knowledge in
Week 1
- Structure design project.
- Make homepage, load product from server api
- Load category, products from db.
- Understand about how to create relation in mongodb
- Pagination products, re-render only products list when paging
- Understand about some keyword in css: important, named of class of every tag.
- Create navigation bar, template for product detail
- Create footer.
- Load detail of product from db.
- Review all knowledge in
Week 2. - Learn JWT for authenticate
- Modify UI.
- Make register account.
- Add login by passport-local, send JWT from sever to client and saved in local storage.
- Receive JWT from client by passport-jwt through Bearer authenticate header.
- Understand more about reducer of redux with initial state.
- Learn about Route with high order component.
- Make routing depend on role of user.
- Make cart page.
- Store product into redux and local storage and load in cart page.
- Learn about MD file, update README.md for project
- Review all knowledge in
Week 3.
- Make load product for admin, remove product.
- UI for add product page
- Learn about multer for upload image.
- Add product into db.