Live site found here: www.amitabhkumar.com
eCommerce Marketplace is an online marketplace that enables an online retailer to sell products online, accept credit card and paypal payments, view orders and receive email notification of orders placed for further processing. & vice versa for the online customers. See it live at www.amitabhkumar.com Technically a MERN Stack E-commerce project: Node JS API (Backend), React JS (Frontend) & powered byMongoDB database. JWT Authentication, Digital Ocean's Cloud Servers, Cloudflare CDN for speed and SSL for security, Braintree Payment Processing, Custom Domain name from Godaddy.com.
- Node JS API (Backend) Development
- React JS (Frontend) Web Development
- Functional Components with React Hooks
- Payment Gateway using Credit Card and PayPal
- Integrate Braintree (A PayPal Company) for Payment Processing
- Implement Advance Searching/Filtering based on Categories
- Implement Advance Searching/Filtering based on Price Range
- Implement Standard Products Search System with Categories option/dropdown
- Implement Authentication based on JWT
- Flexible Private and Admin Routing System
- CRUD with Products and Categories
- File Upload
- LocalStorage (CRUD) to Minimize Requests to Backend
- Sold Products Record into the Database for Further Processing
- User Profile and Update Ability
- Implemented Order Management System by Admin
- Deployed on Digital Ocean's Cloud Servers
- Added a Custom Domain name to the app
- Cloudflare's CDN to serve the app (for speed)
- Cloudflare's SSL to secure the app
As an owner of a small business, I need a simple and responsive website using React that I can use to sell my products.
This template used React, MongoDB, Mongoose ORM, and customized React-Bootstrap components. A user is able to fork this repository and create their own ECommerce site for a business by uploading items to the Mongo database with a simple form. The front-end has easy styling and customization options within one file to suit any brand. By utilizing the built-in PayPal payment system, customers can place orders throught the site, recieve email confirmation of their purchase, and store administrators recieve notice of a purchase.
- As a customer, I want to Signup with my email address, username and password, so that I can create my account and do future Login’s.
- As a customer, I want to login with my email address and password so that I can able to buy and search the products.
- As a customer, I want to logout, so that no one can gain access to my account.
- As a customer, I want to create a profile, so that I can see my personal details and view my item purchase history and the amount I spent on them.
- As a customer, I want to edit my profile, so that I can edit my account and personal details, for .eg Address, whenever I want.
- As a customer, I want to delete my account so that I can remove my access to the app whenever I want.
- As a customer, I want to see my cart so that I know how many products I am buying.
- As a customer, I want to search products so that I can choose what products I want.
- As a customer, I want to pay for the products I am buying so that I can able to purchase them.
- As a Admin, I want to login with my email address and password so that I can see every history and details related to the application.
- As a Admin, I want to logout, so that no one can gain access to my account and the admin panel.
- As a Admin, I want to add a product to my application so that I can I can add products for the customers.
- As a Admin, I want to update a product so that I can I can keep my products details and pictures up-to-date for the customers.
- As a Admin, I want to delete the products so that I can remove the products if they are no longer available.
- As a Admin, I want to see my customer address details so that we can send the product to the right destination.
- As a Admin, I want to upload a picture of my product so that customer have an eye-view of the product they are going to buy.
✔️ = Done 😊 | ❌ = Not Done 😞 | ❎ = Kinda Done 😑
- ✔️ When approaching your client, be upfront about this being a project you are doing as part of the bootcamp graduation.
- ✔️ There is to be no expectations on you, the students, to deploy the application for use of the client. Make sure the client is aware of this and is agreed upon.
- ✔️ There is to be no confidentiality agreement to be entered into. Deliverables
Client interaction
Demonstrate your ability to satisfy your client with the quality of your work and high level of service.
- ✔️ Record all interactions with your client in a diary format.
- ✔️ Plan information gathering activities to determine project requirements, constraints and risks
- ✔️ Develop project charter, including preliminary statement of project scope and obtain sign-off
- ✔️ Prepare project work breakdown, schedule and budget
- ✔️ Compile project management plan documents as necessary to communicate the intended management strategy for the project and obtain sign-off
- ✔️ Identify and select team members, and allocate roles and responsibilities, based on project solution requirements
- ✔️ Determine training and support needs of team members
- ✔️ Establish project team values and agreed behavioural standards with team members
- ✔️ Monitor delivery and acceptance of assigned project team work activities and manage individuals
- ✔️ Monitor and control project scope changes, risks and issues
- ✔️ Manage system testing and hand over activities
- 😑 Prepare IT support plans and maintenance or support documents
- 😑Obtain final project sign-off
- 😑Conduct post project review
- 😞 Create a questionnaire for the client to ascertain the satisfaction with your product and service. Application Design
Demonstrate your ability to break down the problem and design a solution.
- ✔️One page summary of your application including problem definition, solution.
- ✔️Determine the appropriate client technology, development tools, and platform for writing the UI
- ✔️Review the conceptual design with the client, and edit as required
- 😑A workflow diagram of the user journey/s.
- ✔️Wireframes for at least 5 screens.
- ✔️User stories for the whole application.
- 😑Entity Relationship Diagram (ERD).
- ✔️Project plan and effort estimation.
Tools and methodologies
- ✔️Trello or similar project management tool to be used to track progress of build.
- ✔️Show evidence of Slack conversations or use of other communication tools.
- ✔️Git
- ✔️Github. Demonstrate use of frequent commits, pull requests, documentation.
- ✔️Use Agile development methodologies.
- 😑Provide evidence you have used code quality tools