TechDropship is a fully automated e-commerce platform specializing in dropshipping electronics and computer parts. This platform connects customers with third-party suppliers through an automated system that handles product synchronization, inventory management, order processing, and customer notifications.
- Product Catalog with advanced search and filter capabilities
- Category and Subcategory browsing for easy navigation
- Detailed Product Pages with high-resolution images, specifications, and reviews
- Shopping Cart with secure checkout process
- User Accounts with order history, saved addresses, and wishlists
- Responsive Design for optimal experience on all devices
- Supplier Integration System for connecting with multiple dropshipping providers via APIs
- Automated Product Import and synchronization with supplier catalogs
- Real-time Inventory Management to prevent overselling
- Automated Order Processing with direct supplier communication
- Dynamic Pricing Engine with markup rules and discount management
- Comprehensive Admin Dashboard for business monitoring
- React.js with Redux Toolkit for state management
- React Router for navigation
- Responsive CSS with modern design principles
- Payment processing integration with Stripe and PayPal
- Node.js with Express.js framework
- PostgreSQL database for data storage
- Sequelize ORM for database interactions
- JWT authentication for secure user sessions
- RESTful API architecture
- Docker containerization for consistent environments
- Nginx for serving static assets and as a reverse proxy
- Cloud-ready configuration for major platforms (AWS, Google Cloud, Azure)
- Node.js (v16 or higher)
- npm or yarn
- PostgreSQL (v13 or higher)
- Docker and Docker Compose (for containerized deployment)
-
Clone the repository
git clone <repository-url> cd techdropship
-
Set up environment variables
cp backend/.env.example backend/.env # Edit the .env file with your database credentials and other configurations
-
Install dependencies
# Install backend dependencies cd backend npm install # Install frontend dependencies cd ../frontend npm install
-
Initialize the database
cd ../backend npm run db:migrate npm run db:seed
-
Start the development servers
# In one terminal, start the backend cd backend npm run dev # In another terminal, start the frontend cd frontend npm start
-
Access the application:
- Frontend: http://localhost:3000
- Backend API: http://localhost:3001/api
-
Build and start the containers
docker-compose up -d
-
Access the application at http://localhost:3000
/
├── backend/ # Backend Node.js application
│ ├── src/
│ │ ├── config/ # Configuration files
│ │ ├── controllers/ # Request handlers
│ │ ├── models/ # Database models
│ │ ├── routes/ # API routes
│ │ ├── services/ # Business logic
│ │ ├── utils/ # Utility functions
│ │ └── index.js # Application entry point
│ ├── .env.example # Example environment variables
│ └── package.json # Backend dependencies
│
├── frontend/ # Frontend React application
│ ├── public/ # Static files
│ ├── src/
│ │ ├── assets/ # Images, fonts, etc.
│ │ ├── components/ # Reusable UI components
│ │ ├── pages/ # Page components
│ │ ├── redux/ # Redux state management
│ │ ├── services/ # API services
│ │ ├── utils/ # Utility functions
│ │ ├── App.js # Main component
│ │ └── index.js # Entry point
│ └── package.json # Frontend dependencies
│
├── docker-compose.yml # Docker Compose configuration
├── Dockerfile.backend # Backend Docker configuration
├── Dockerfile.frontend # Frontend Docker configuration
└── README.md # Project documentation
The backend API follows RESTful principles and includes the following main endpoints:
- /api/auth - Authentication endpoints (register, login, etc.)
- /api/products - Product management endpoints
- /api/categories - Category management endpoints
- /api/cart - Shopping cart operations
- /api/orders - Order processing and history
- /api/suppliers - Supplier integration endpoints (admin only)
- /api/users - User account management
Detailed API documentation can be accessed at http://localhost:3001/api-docs when running in development mode.
Please read our Contributing Guidelines before submitting a pull request.
This project is licensed under the MIT License - see the LICENSE file for details.
- All the open-source libraries and tools that made this project possible
- The community for inspiration and support