Home
Softono
partum_inventory

partum_inventory

Open source Python
21
Stars
23
Forks
1
Issues
2
Watchers
2 months
Last Commit

About partum_inventory

Partum Inventory is a web-based inventory management system built with Python and Django, specifically designed to help small businesses efficiently track records, sales, employees, and financial ledgers. The application supports multi-tenancy for retailers, enabling independent management of distinct business entities within a single platform. Key features include comprehensive stock management with low stock notifications, detailed sales and invoicing capabilities, customer and supplier ledger tracking, expense monitoring, and employee oversight. Users can generate actionable insights through various sales reports and stock logs available on daily, weekly, and monthly timescales. The system leverages a modern tech stack including Python 3.12, Django 5.1, and either SQLite for development or PostgreSQL for production deployments. It uses Django Templates and jQuery for the frontend interface. Partum Inventory is easily deployable via Docker or through local virtual environment setup, offering a structured pr

Platforms

Web Self-hosted

Languages

Python

Links

Inventory Management System

Inventory Management System is a web based Application developed in Python/Django. The Software is designed for small businesses to maintain their records, customer ledger, sales, and more.

Designed by Partum Solutions (Startup in Quetta, Pakistan. Provides Services and Solutions).

Features

  • Retailers (Multi Tenancy)
  • Customers and Ledgers
  • Stock Management
  • Low Stock Notification
  • Sales & Invoicing
  • Employees
  • Expenses
  • Suppliers
  • Feedback
  • Sales Reports (Daily, Weekly, Monthly)
  • Stock Logs (Daily, Monthly)

Tech Stack

  • Python: 3.12
  • Django: 5.1
  • Database: SQLite (dev) / PostgreSQL (Docker)
  • Frontend: Django Templates + jQuery

Getting Started

Option 1: Docker (Recommended)

  1. Clone the repository:
git clone [email protected]:janzaheer/partum_inventory.git
cd partum_inventory
  1. Copy the environment file:
cp .env.example .env
  1. Build and run with Docker Compose:
docker compose up --build
  1. In a separate terminal, run migrations and create superuser:
docker compose exec web python manage.py migrate
docker compose exec web python manage.py createsuperuser
  1. Access the application at http://localhost:8010

Option 2: Local Development

  1. Clone the repository:
git clone [email protected]:janzaheer/partum_inventory.git
cd partum_inventory
  1. Create and activate a virtual environment:
python3.12 -m venv .venv
source .venv/bin/activate
  1. Install dependencies:
pip install -r requirements.txt
  1. Run migrations:
python manage.py migrate
  1. Create a superuser:
python manage.py createsuperuser
  1. Run the development server:
python manage.py runserver
  1. Access the application at http://localhost:8000

Running Tests

# Run all tests
pytest

# Run with coverage
pytest --cov=. --cov-report=html

# Run tests for a specific app
pytest pis_com/tests.py
pytest pis_product/tests.py
pytest pis_sales/tests.py

Docker Configuration

Service Container Name Host Port Internal Port
Web App partum_inventory_web 8010 8010
PostgreSQL partum_inventory_db 5434 5432

Environment Variables

Variable Default Description
DJANGO_SECRET_KEY (dev key) Django secret key
DJANGO_DEBUG True Enable debug mode
DJANGO_ALLOWED_HOSTS * Comma-separated allowed hosts
DB_ENGINE sqlite3 Database engine
DB_NAME db.sqlite3 Database name
DB_USER Database user
DB_PASSWORD Database password
DB_HOST Database host
DB_PORT Database port

Project Structure

partum_inventory/
├── partum_inventory/     # Django project settings
├── pis_com/              # Core: auth, customers, feedback
├── pis_product/          # Products & stock management
├── pis_retailer/         # Retailer/tenant management
├── pis_sales/            # Sales & invoicing
├── pis_ledger/           # Customer ledgers
├── pis_expense/          # Expense tracking
├── pis_employees/        # Employee management
├── pis_supplier/         # Supplier management
├── templates/            # HTML templates
├── app_static/           # Static assets (CSS/JS)
├── tests/                # Shared test utilities
├── Dockerfile
├── docker-compose.yml
└── requirements.txt

Need Help?

Contribute

As an open source project with a strong focus on the user community, we welcome contributions as GitHub pull requests.