GreaterWMS
Fully Open Source Warehouse Management System
Fully Open Source Warehouse Management System
The original vision for this software was to make it a framework that would facilitate warehouse management software development for everyone. However, we later discovered that we had written it as a complete software system, which was not what we intended.
Therefore, we have rewritten the underlying layer using Rust and Python as the carrier, creating a new CLI underlying framework called Bomiot. It offers high performance and more convenient development, fully leveraging Python's inherent language advantages.
The old version of GreaterWMS files can be found here: GreaterWMS v2.1.49
GreaterWMS will also use Bomiot for its 3.0 reconstruction.
Clone the repository
git clone https://github.com/dev00amk/GreaterWMS-amk.git
cd GreaterWMS-amk
Backend Setup
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Run migrations
python manage.py migrate
# Create superuser
python manage.py createsuperuser
# Start development server
python manage.py runserver
Frontend Setup
cd templates
npm install
npm run dev # or quasar dev
Docker Setup (Alternative)
# Start all services
docker-compose up -d
# View logs
docker-compose logs -f
Backend Tests:
# Run all Django tests
python manage.py test
# Run with coverage
coverage run --source='.' manage.py test
coverage report
coverage html
# Run specific app tests
python manage.py test asn.tests
Frontend Tests:
cd templates
npm test
npm run lint
Security Scanning:
# Python security checks
pip install safety bandit
safety check -r requirements.txt
bandit -r . --exclude=./venv,./migrations
# Frontend security audit
cd templates
npm audit
Our CI/CD pipeline automatically runs on every pull request and includes:
Using Docker Compose for CI:
# Test the CI pipeline locally
docker-compose -f docker-compose.ci.yml up --build
# Run specific CI tests
docker-compose -f docker-compose.ci.yml run backend-test python manage.py test
docker-compose -f docker-compose.ci.yml run frontend-test npm test
Manual CI Steps:
# Backend CI steps
python manage.py check --deploy
python manage.py makemigrations --check --dry-run
flake8 . --max-line-length=100 --exclude=migrations
python manage.py test
# Frontend CI steps
cd templates
npm ci
npm run lint
npm test
npm run build # if build script exists
git checkout -b feature/your-feature-nameUse our PR helper script to automate testing and PR creation:
# Run tests and create PR
./scripts/make_pr.sh
# With specific target branch
./scripts/make_pr.sh develop "feat: add new inventory feature"
# Install development tools
pip install flake8 black isort pre-commit
npm install -g eslint prettier
# Set up pre-commit hooks
pre-commit install
Database Connection Issues:
# Reset database
python manage.py flush
python manage.py migrate
Frontend Build Issues:
cd templates
rm -rf node_modules package-lock.json
npm install
Docker Issues:
# Reset Docker environment
docker-compose down -v
docker system prune -f
docker-compose up --build