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
- Host: GitHub
- URL: https://github.com/ayodimeji1/e-shopproject
- Owner: Ayodimeji1
- Created: 2022-05-15T20:01:04.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2024-11-04T04:16:38.000Z (over 1 year ago)
- Last Synced: 2025-11-30T20:32:46.425Z (7 months ago)
- Topics: backend, django, ecommerce, frontend, full-stack, html-css-javascript, python, webapplication
- Language: CSS
- Homepage:
- Size: 24.5 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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.