π Live Demo Β β’Β π Report Bug Β β’Β π‘ Request Feature
Final Year B.E. Computer Science & Engineering Project β 2025β26 | USN: 4KM22CS018
- About
- Features
- Tech Stack
- Quick Start
- Screenshots
- Login Credentials
- Project Structure
- Frontend Deployment
- Database Management
- API Reference
- Troubleshooting
- Author
Multi-Stock Logistics Platform is a comprehensive, production-ready warehouse and logistics management system built with Django and PostgreSQL backend, with a Next.js frontend for modern deployment. It covers the full lifecycle of a logistics business β from inventory tracking and multi-vendor marketplace to equipment rentals, smart locker bookings, POS billing, analytics dashboards, and customer support.
Built as a Final Year CS Engineering project, it demonstrates enterprise software engineering patterns: role-based access control, RESTful APIs, signal-driven data consistency, audit logging, real-time notifications, and a clean multi-app Django architecture with 40+ apps.
- Multi-vendor marketplace with search and filters
- Shopping cart with real-time stock validation
- Order lifecycle management (Pending β Confirmed β Shipped β Delivered)
- Product reviews with star ratings
- Wishlist and coupon system
- Inventory tracking with stock levels and movements
- Barcode & QR code generation
- Stock adjustments with approval workflow
- Multi-location warehouse support
- Bulk CSV upload
- Equipment rental with flexible pricing (hourly/daily/weekly/monthly)
- Storage units booking by size and duration
- Smart lockers with booking management
- Automated rental agreements
- Unified payment flow for all services
- Invoice and receipt generation
- Payment history tracking
- Refund processing workflow
- Dashboard charts with Chart.js
- Advanced analytics with heatmaps
- Exportable CSV and XLSX reports
- Complete audit logging
- Support ticket system
- Internal messaging (1:1 and group chat)
- Community forums
- In-app notifications with email integration
| Layer | Technology |
|---|---|
| Backend | Django 4.2.11, Django REST Framework 3.15 |
| Database | SQLite (included in repo β zero setup needed) |
| Frontend | Django HTML templates, Bootstrap 5, Chart.js |
| Authentication | Django session auth + DRF Token auth |
| Static Files | WhiteNoise (compressed, cached) |
| Barcode/QR | python-barcode 0.15, qrcode 7.4 |
| Deployment | PythonAnywhere (live at ashstarfall01.pythonanywhere.com) |
- Python 3.11+
- pip
- Git
# Clone repository
git clone https://github.com/AshishCherian15/Multi-Stock-Logistics-Platform.git
cd Multi-Stock-Logistics-Platform
# Create virtual environment
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Configure environment
cp .env.example .env
# Edit .env and set SECRET_KEY
# Generate secret key
python -c "import secrets; print(secrets.token_urlsafe(50))"
# Run migrations
python manage.py migrate
# Create superuser
python manage.py createsuperuser
# Seed demo data (optional)
python manage.py populate_data
python manage.py seed_rentals
python manage.py seed_storage
python manage.py seed_lockers
# Run development server
python manage.py runserverVisit http://127.0.0.1:8000
This repository already includes db.sqlite3 with preloaded demo data.
# If you want to use the included DB directly, just run:
python manage.py runserverIf you want a fresh database instead, delete db.sqlite3, then run python manage.py migrate and seed commands.
# Navigate to frontend directory
cd frontend-vercel
# Install dependencies
npm install
# Run development server
npm run devVisit http://localhost:3000
| Module | Preview |
|---|---|
| Rental Equipment | ![]() |
| Smart Lockers | ![]() |
| Storage Units | ![]() |
You can also capture your local UI screenshots after running both servers and add them under a folder like docs/screenshots/.
Django Backend (Local):
- Main:
http://127.0.0.1:8000/ - Login Selection:
http://127.0.0.1:8000/auth/login-selection/ - Team Login:
http://127.0.0.1:8000/auth/team-login/ - Customer Login:
http://127.0.0.1:8000/auth/customer-login/ - Guest Access:
http://127.0.0.1:8000/guest/
Live Site:
https://ashstarfall01.pythonanywhere.com/
Full system access & management
| Username | Password | |
|---|---|---|
superuser |
super123 |
superuser@multistock.com |
testcustomer |
super123 |
testcustomer@multistock.com |
Administrative access
| Username | Password | |
|---|---|---|
admin |
admin123 |
admin@multistock.com |
admin_rajesh |
admin123 |
rajesh@multistock.com |
admin_priya |
admin123 |
priya@multistock.com |
Supervisor access
| Username | Password | |
|---|---|---|
subadmin_suresh |
sub123 |
suresh@multistock.com |
senior_lakshmi |
staff123 |
lakshmi.senior@multistock.in |
Basic operations
| Username | Password | |
|---|---|---|
staff |
staff123 |
staff@multistock.com |
staff_amit |
staff123 |
amit@multistock.com |
staff_vikram |
staff123 |
vikram@multistock.com |
| Username | Password | |
|---|---|---|
customer |
customer123 |
customer@example.com |
customer_arjun |
customer123 |
arjun@example.com |
customer_deepika |
customer123 |
deepika@example.com |
Plus 46+ more customer accounts (all with password: customer123)
No login required - browse-only access at /guest/
π Complete credentials documentation: See CREDENTIALS.md
Multi-Stock-Logistics-Platform/
βββ apps/ # Django apps (40+ apps)
β βββ auth_system/ # Login, register, password reset
β βββ orders/ # Sales & purchase orders
β βββ rentals/ # Equipment rental system
β βββ storage/ # Storage unit bookings
β βββ lockers/ # Smart locker system
β βββ payments/ # Unified payment processor
β βββ tickets/ # Support ticket system
β βββ reviews/ # Product reviews
β βββ inventory/ # Inventory management
β βββ analytics/ # Dashboard & metrics
β βββ ... # 30+ more apps
βββ templates/ # Django HTML templates (role-aware UI)
βββ static/ # CSS, JS, images
βββ media/ # Uploaded files
βββ fixtures/ # Seed data
βββ greaterwms/ # Django project settings & URLs
βββ db.sqlite3 # Pre-seeded demo database (included)
βββ CREDENTIALS.md # Complete login credentials
βββ requirements.txt # Python dependencies
βββ manage.py
βββ README.md
This project is live at https://ashstarfall01.pythonanywhere.com
- Sign up at pythonanywhere.com (free tier)
- Open a Bash console and run:
git clone https://github.com/AshishCherian15/Multi-Stock-Logistics-Platform.git
cd Multi-Stock-Logistics-Platform
python3.11 -m venv ~/.virtualenvs/multistock-env
source ~/.virtualenvs/multistock-env/bin/activate
pip install -r requirements.txt
python manage.py collectstatic --noinput- Create a Web App (Manual config, Python 3.11)
- WSGI file β replace contents with:
import os, sys
path = '/home/YOUR_USERNAME/Multi-Stock-Logistics-Platform'
if path not in sys.path:
sys.path.append(path)
os.environ['DJANGO_SETTINGS_MODULE'] = 'greaterwms.settings'
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()- Virtualenv β
/home/YOUR_USERNAME/.virtualenvs/multistock-env - Static files:
/static/β.../staticfiles,/media/β.../media - Click Reload
The repository includes db.sqlite3 with all demo data pre-seeded β no setup required. Just clone and run.
# Populate products
python manage.py populate_data
# Seed rentals
python manage.py seed_rentals
# Seed storage units
python manage.py seed_storage
# Seed lockers
python manage.py seed_lockers
# Seed coupons
python manage.py populate_coupons# Delete database
rm db.sqlite3
# Run migrations
python manage.py migrate
# Create superuser
python manage.py createsuperuser
# Seed data
python manage.py populate_dataBase URL: /api/
| Endpoint | Method | Description |
|---|---|---|
/api/goods/ |
GET, POST | Products CRUD |
/api/warehouse/ |
GET, POST | Warehouses |
/api/customer/ |
GET, POST | Customers |
/api/supplier/ |
GET, POST | Suppliers |
/api/notifications/ |
GET | Notifications |
/api/dashboard-metrics/ |
GET | Dashboard KPIs |
/api/dashboard-charts/ |
GET | Chart data |
/api/search/ |
GET | Global search |
/health/ |
GET | Health check |
Authentication: Session-based or DRF Token-based
Authorization: Token <your-token>- Verify correct login portal (Team vs Customer)
- Check username spelling (case-sensitive)
- Clear browser cache
- Try incognito mode
python manage.py migrate
python manage.py createsuperuser# Django (change port)
python manage.py runserver 8001
# Next.js (change port)
PORT=3001 npm run dev# Django tests
python manage.py testMIT License β see LICENSE for details.
Ashish Cherian
- USN:
4KM22CS018 - Branch: B.E. Computer Science & Engineering
- Year: Final Year, 2025β26
- GitHub: @AshishCherian15
- Issues: GitHub Issues
- Email: admin@multistock.com
- Documentation: CREDENTIALS.md
Made with β€οΈ using Django & SQLite β deployed free on PythonAnywhere
β Star this repo if you found it useful!
Last Updated: March 2026 | Version: 2.1


