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

https://github.com/ayodimeji1/e-shopproject


https://github.com/ayodimeji1/e-shopproject

backend django ecommerce frontend full-stack html-css-javascript python webapplication

Last synced: 3 months ago
JSON representation

Awesome Lists containing this project

README

          

# E-Shop Project

## Overview

The Project is a fully-featured e-commerce web application developed using Django as the backend framework. This project includes capabilities for product management, payment integration, user interaction, and a responsive UI. The project structure incorporates modular design principles to ensure scalability and maintainability.

## Table of Contents

- [Features](#features)
- [Project Structure](#project-structure)
- [Installation](#installation)
- [Backend Setup](#backend-setup)
- [Usage](#usage)
- [Dependencies](#dependencies)
- [Configuration](#configuration)
- [Deployment](#deployment)
- [License](#license)

## Features

- **Product Management**: Create, read, update, and delete (CRUD) operations for products.
- **Category Management**: Organize products into categories.
- **User-Friendly Interface**: Includes static assets and responsive design for seamless user experience.
- **Payment Integration**: Built-in payment processing support via Paystack.
- **Search and Filtering**: Product search and category-based filtering.
- **Admin Panel**: Comprehensive admin interface for managing products, orders, and more.

## Project Structure

```
e-shopproject-main/

├── eshopproject/ # Main project configuration
│ ├── __init__.py
│ ├── asgi.py # ASGI config for async support
│ ├── settings/ # Settings for different environments
│ │ ├── base.py # Base settings
│ │ ├── dev.py # Development settings
│ │ └── prod.py # Production settings
│ ├── urls.py # Project URL configuration
│ ├── wsgi.py # WSGI entry point for deployment

├── payment/ # Payment app for handling payments
│ ├── templates/ # Payment templates
│ ├── migrations/ # Database migrations for payment app
│ ├── __init__.py
│ ├── admin.py # Admin setup for payments
│ ├── apps.py # App configuration
│ ├── forms.py # Form handling for payment views
│ ├── models.py # Payment models
│ ├── paystack.py # Paystack integration logic
│ ├── utilities.py # Utility functions
│ ├── urls.py # URL configuration for payment routes
│ └── views.py # Views for handling payment processes

├── product/ # Product management app
│ ├── templates/ # Product-related templates
│ ├── static/ # Product-specific static files (e.g., CSS)
│ ├── migrations/ # Database migrations for product app
│ ├── __init__.py
│ ├── admin.py # Admin panel setup for products
│ ├── apps.py # App configuration
│ ├── context_processors.py # Context processors for template rendering
│ ├── forms.py # Forms for product-related input
│ ├── models.py # Product and category models
│ ├── urls.py # URL configuration for product routes
│ └── views.py # View logic for product interactions

├── shop/ # Main app for general shop logic
│ ├── templates/ # Main templates (e.g., index, base)
│ ├── static/ # General static assets (CSS, JS, images)
│ ├── migrations/ # Database migrations for shop app
│ ├── __init__.py
│ ├── admin.py # Admin configurations for the shop
│ ├── apps.py # App configuration
│ ├── models.py # Models related to the shop functionality
│ ├── urls.py # URL routing for the shop
│ └── views.py # Main views for shop functionality

├── src/ # Source files for assets and templates
│ ├── js/ # Custom JavaScript files
│ ├── scss/ # SCSS for custom styling
│ ├── pug/ # Pug templates for pre-processing
│ └── ... # Additional asset configurations

├── README.md # Project documentation
├── requirements.txt # Python package dependencies
└── manage.py # Django management script
```

## Installation

### Prerequisites
- **Python 3.10+**
- **Django 4.x**
- **Virtual Environment Tool (optional but recommended)**

### Backend Setup

1. **Navigate to the project directory**:
\`\`\`bash
cd e-shopproject-main
\`\`\`

2. **Create and activate a virtual environment**:
\`\`\`bash
python -m venv env
source env/bin/activate # On Windows, use 'env\Scripts\activate'
\`\`\`

3. **Install the required packages**:
\`\`\`bash
pip install -r requirements.txt
\`\`\`

4. **Apply migrations to set up the database**:
\`\`\`bash
python manage.py migrate
\`\`\`

5. **Create a superuser for accessing the admin panel**:
\`\`\`bash
python manage.py createsuperuser
\`\`\`

6. **Run the development server**:
\`\`\`bash
python manage.py runserver
\`\`\`

## Usage

- **Backend**: Visit `http://localhost:8000` to access the application. The admin panel is available at `http://localhost:8000/admin`.

## Dependencies

- **Django**
- **Django REST Framework (if applicable)**
- **Paystack** for payment integration
- **Other dependencies** specified in `requirements.txt`

## Configuration

- **Environment Variables**: Add necessary environment variables (e.g., API keys) in a `.env` file.
- **Static Files**: Ensure the `static` directory is configured in `settings.py`.

## Deployment

- **Production Considerations**:
- Use `gunicorn` or `uWSGI` for running Django in production.
- Configure **NGINX** as a reverse proxy.
- Set up **HTTPS** for secure connections using **Let’s Encrypt**.

## License

This project is licensed under the MIT License.