The Ecommerce Platform is a full-stack application designed to facilitate online buying and selling of products. This project enables users to create accounts, browse products, add products to cart, and complete purchases. It also allows sellers to add, edit, and manage their products. The platform is built with a React-based frontend, an Express.js backend, and utilizes MongoDB for data storage.
The platform is designed for both buyers and sellers, providing an intuitive interface for users to interact with the application. The project aims to provide a seamless and secure ecommerce experience.
- User registration and login functionality
- User profile management
- Authentication and authorization
- Add, edit, and delete products
- Product details page with images and description
- Product listing page with filtering and sorting
- Add products to cart
- View cart contents
- Update cart quantities
- Complete purchase
- Add, edit, and manage products
- Verify email and password for product management
graph TD;
ecommerce-->backend;
ecommerce-->frontend;
backend-->db;
backend-->routes;
frontend-->src;
src-->components;
src-->pages;
- Node.js (version 16 or higher)
- MongoDB (version 5 or higher)
- Git
git clone https://github.com/oneWritesCode/ecommerce.gitcd ecommerce/backend
npm install
cd ../frontend
npm installcd ecommerce/backend
npm run start
cd ../frontend
npm run devThe repository uses GitHub Actions for continuous integration and deployment. The workflow is defined in the .github/workflows/main.yml file.
The backend API endpoints are defined in the backend/routes directory. The main endpoints include:
/api/user: User registration and login/api/product: Product management/api/cart: Cart management
The codebase follows standard professional guidelines for code quality, including:
- ESLint configuration for code linting
- TypeScript for type checking
- Modular and reusable code components
The codebase includes detailed documentation for each component and module. The documentation is generated using standard formatting conventions and includes information on usage, props, and state.