E-commerce full-stack web application built with React, Node.js, Express, MySQL (Prisma), and Stripe that represents the functionality of an online store. Users can browse through the products, add them to the cart, and place an order. Admins can manage the products and orders.
Firebase Authentication serves as the app's authentication mechanism, allowing Google sign-in functionality. Redux Toolkit handles the management of the user's cart contents and their curated list of favored products. Cloudinary facilitates the storage of uploaded images, including profile avatars and product visuals. Payments in the application are processed with Stripe. Prisma functions as an ORM for interaction with the MySQL database. TailwindCSS is used for styling the application. The E2E application testing is performed with Cypress.
- Authentication (login, register, logout)
- Google sign-in
- Role-based authentication
- Product management
- Browsing through the products
- Searching for products by its name or description
- Filtering products by category
- Sorting products by price
- Adding/removing products to/from the cart
- Adding/removing products to/from the favorites list
- Order management
- Placing the order
- Viewing the order details
- Payment processing
- Payment with Stripe
- User profile
- Viewing and updating the user's profile information
- Admin panel
- Viewing all products
- Creating, updating, and deleting products
- Viewing all orders
- Viewing and update the profile information
- Responsive design for mobile devices
- Progressive Web App (PWA) support
- E2E testing with Cypress
demo.mp4
- LinkedIn: Danyl Kecha
- Mail: [email protected]
- GitHub: ke444a
- Twitter: @ke444a
- Hashnode: blog.danylkecha.com