Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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

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/)