Admin panel: https://victor-s-shop-admin.herokuapp.com/
A single page application created for managing the e-commerce data stored in the firebase database. Built with React.js, React Router, Redux and Bulma CSS.
- Sign in and sign up with firebase auth / front side and server side validation
- View all users / view user / delete user
- View all categories / create, read, update, delete a category
- View all products / create, read, update, delete a product
- View all orders / view, read, delete order
- Pagination
- Interactivity using modal, loader and error handling
- Routes
- Filter / sort / search /// TODO
- React
- React Router
- Redux
- Redux Thunk
- Bulma CSS
- Axios
- Firebase
Firebase functions that serve as RESTful APIs for the e-commerce app. Built using Node.js, Firebase functions and Express.
- api/categories
- api/favorites
- api/orders
- api/products
- api/users
- Authentication using username and email
- Authentication using oauth
- Performs CRUD operations in firestore database
- image upload / delete / update
- functions that serve the RESTful requests to perform CRUD operations in the database and image upload / delete / update
- uses firebase auth and middleware for authorization handling
- Firebase
- Firebase admin
- Firebase functions
- Node.js
- Express
- Busboy
- async requests handling
An online shop built as a single page application using React.js, React Router, Redux and Bootstrap.
- Sign in / Signup with username and email or google
- Home page with categories
- View all products
- View products based on categories
- View product
- View favorites
- Add to cart
- Add to favorites
- Order summary
- Order submit
- Carousel for promotions
- Search product
- Filter by price, brand, material
- Sort by price
- mobile responsive All RESTful requests perform CRUD operation in the firebase database.
- React
- React Router
- Redux
- Redux Thunk
- Bootstrap
- Axios
- Firebase
-
Admin-panel
-
Home - Dashboard page
-
User
- Sign in
- Sign up
- Log out - fix TypeError: Cannot read property 'loading' of null
-
Products
-
Add new product feature
- solve image upload bug
- handle validation errors
- add modal after action completion
- add category field
- Fields
- Title
- Item Number
- Brand
- Price
- Currency
- Material
- Weight
- Weight m.u.
- Description
- Category
- Created At
- Fields
- solve image upload bug
-
Add edit product feature
- handle image edit
- add modal after product edit
- validate new inputs
-
Add view product feature
- Delete product feature
- Delete image when deleting a product
- add a modal after product delete
-
Categories
- New Category
- Edit Category
- List Categories
- Delete Category
- View Category
-
Orders
- Fields
- uid
- products:
- productId
- quantity
- deliveryAddress,
- billingAddress,
- comments,
- createdAt
- Display all orders
- View order
- Mark order as shipped
- Fields
-
Home page
- Layout
-
Users
- users
- view user
- delete user
-
Pagination Component and functionality
-
add responsiveness
-
format dates
-
add filters
-
add sort
-
route guard
-
-
-
Firebase functions
- Users functions
- add user to database after login with Google
- Products functions
- Categories functions
- Orders functions
- Add to favorites
- Check for duplicate products
- Users functions
-
View
- Add store
- user
- products
- categories
- cart
- favorites
- Header
- implement a dropdown menu for user options
- Footer
- Login
- Login page
- Signin with google
- Signin with facebook - disables
- Signin with email and password
- Logout page
- Login page
- Signup
- Home page
- View all products
- Category
- Category page
- Category item
- Product
- Product item
- Product page
- Fix product image
- Cart
- Cart page
- Number of products
- Favorites
- Add to favorites
- Remove from favorite
- Favorites page
- About
- Terms and conditions
- Checkout page
- Order summary
- Slider
- Search
- Sort
- Filters
- route guard
- Responsiveness
- fix hover user error
- Add store