Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/muokz/multivendor-ecommerce-platform-django-rest-framework
Multivendor-Ecommerce-Platform-Django-Rest-Framework
https://github.com/muokz/multivendor-ecommerce-platform-django-rest-framework
bootstrap5 django-rest-framework paypal-checkout reactjs
Last synced: 9 days ago
JSON representation
Multivendor-Ecommerce-Platform-Django-Rest-Framework
- Host: GitHub
- URL: https://github.com/muokz/multivendor-ecommerce-platform-django-rest-framework
- Owner: muokz
- Created: 2024-09-10T12:33:37.000Z (25 days ago)
- Default Branch: main
- Last Pushed: 2024-09-16T20:10:53.000Z (19 days ago)
- Last Synced: 2024-09-26T15:21:12.926Z (9 days ago)
- Topics: bootstrap5, django-rest-framework, paypal-checkout, reactjs
- Language: JavaScript
- Homepage:
- Size: 36.4 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Hereβs a template for a `README.md` file for your multivendor e-commerce project:
---
# Multivendor E-commerce Platform for Selling Software
Welcome to the **Multivendor E-commerce Project**, a robust and scalable solution built using Django Rest Framework, ReactJS, and PostgreSQL. This platform is designed to facilitate the buying and selling of software products from multiple vendors in a secure, efficient, and user-friendly environment.
## π Features
- **Vendor Management**: Multiple vendors can register, manage their products, and track sales.
- **Product Catalog**: Supports a wide range of software products with detailed descriptions, pricing, and version control.
- **Secure Payments**: Integrated with PayPal for secure online transactions.
- **Order Management**: Customers can easily track their orders and download purchased software.
- **Search and Filter**: Advanced search and filtering options for a seamless shopping experience.
- **User Authentication**: Secure user login, registration, and profile management using JWT tokens.
- **Responsive Design**: Optimized for both desktop and mobile devices.## π οΈ Tech Stack
- **Backend**: Django Rest Framework (Python)
- **Frontend**: ReactJS (JavaScript)
- **Database**: PostgreSQL
- **Payment Gateway**: PayPal API, Instasend (Kenya - Mpesa Payment)
- **Authentication**: JSON Web Tokens (JWT)## π¦ Installation
### Prerequisites
- Python 3.x
- Node.js and npm
- PostgreSQL
- JWT### Backend Setup
1. Clone the repository:
```bash
git clone https://github.com/muokz/BreadcrumbsMultivendor-Ecommerce-Platform-Django-Rest-Framework.git
cd multivendor-ecommerce/backend_api
```2. Create a virtual environment and activate it:
```bash
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
```3. Install dependencies:
```bash
pip install -r requirements.txt
```4. Set up the PostgreSQL database and update the `DATABASES` settings in `settings.py`.
5. Run migrations:
```bash
python manage.py migrate
```6. Create a superuser:
```bash
python manage.py createsuperuser
```7. Start the development server:
```bash
python manage.py runserver
```### Frontend Setup
1. Navigate to the frontend directory:
```bash
cd ../frontend
```2. Install dependencies:
```bash
npm install
```3. Start the React development server:
```bash
npm start
```## π§ͺ Running Tests
### Backend Tests
Run the Django tests using the following command:
```bash
python manage.py test
```### Frontend Tests
To run frontend tests, use:
```bash
npm test
```## π’ Deployment
### Docker
1. Build and run the containers:
```bash
docker-compose up --build
```2. Access the application at `http://localhost:8000`.
### Manual Deployment
- Configure your server (e.g., using Nginx and Gunicorn for the backend, and serve the frontend as static files).
- Set up environment variables for your production settings.
- Follow the installation steps on your server and run the application.## π Documentation
- [API Documentation](docs/api.md)
- [Frontend Documentation](docs/frontend.md)
- [Deployment Guide](docs/deployment.md)## π€ Contributing
Contributions are welcome! Please submit a pull request or open an issue to discuss your ideas.
## π License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## β¨ Acknowledgements
- [Django Rest Framework](https://www.django-rest-framework.org/)
- [ReactJS](https://reactjs.org/)
- [PostgreSQL](https://www.postgresql.org/)
- [PayPal API](https://developer.paypal.com/docs/api/overview/)