An online shopping application built using Angular. It features user-authentication using Firebsae Google Auth Provider. Protected links that are only visible to admin and some requires uers to be logged in. It allows users to filter display products based on categories. Users can add/remove products to/from cart. Displays total cart value and all the cart items in shopping cart page. Needs to add shipping details for placing orders.
Current features and visibility:
Home,
Shopping Cart,
Products,
Check Out,
Place Order,
My Orders,
Manage Products - Login reguired (admin only),
Manage Products -> Add Products - Login reguired (admin only),
Manage Orders - Login reguired (admin only),
Provides categories filter to display products only related to category. Sticky options so that categories can be selected while scrolling products.
AddToCart and RemoveFromCart features which takes shopping cart id or creates one and add or remove items from the cart.
Displays button to increment or decrement the quantity of the product and number of quantity of the product in the cart.
Seperated component of product card and product category filter for making them reusable and readbility of the code.
Displays total quantity of the cart on navbar in a pill. Automatically updates when quantity of product in cart changes.
It shows a list of products in cart and the quantiy, price and total price of each product.
It also shows the total value of the cart along with total quantity.
Can checkout the cart which requires users to add shipping address and then place order.
All the orders are saved and can be managed by admins.
Adding product using Template driven forms Serverless Application built upon Firebase Added Search, Update, Delete and Cancel operations for the product.
Modified the products UI with additional features of pagination, sorting and search built using Angular Material.
Setup you own firebase project then,
Add new folder named environments in src folder
Inside that folder add file named environments.ts with following contents
export const environment = {
production: false,
firebase: {
apiKey: "",
authDomain: "",
projectId: "",
storageBucket: "",
messagingSenderId: "",
appId: "",
measurementId: ""
}
};
Add file named environments.development.ts with following contents
export const environment = {
production: true,
firebase: {
apiKey: "",
authDomain: "",
projectId: "",
storageBucket: "",
messagingSenderId: "",
appId: "",
measurementId: ""
}
};
Run ng serve
for a dev server. Navigate to http://localhost:4200/
. The application will automatically reload if you change any of the source files.
https://shopmart-698a1.web.app/
- Home Page
- Admin Add New Product
- Admin Procducts
- Admin Procducts Filter and Sort
- Update Product
- Products Page
- Products Filtered by selected category
- Products Sticky Options
- Add Product To Cart
- Remove Product From Cart
- Shopping Cart
- Remove Product From Shopping Cart
- Clear Shopping Cart
- Updated Shopping Cart with Checkout
- Check Out
- Successfully Order Placed
- My Orders
- Admin Manage Orders