A comprehensive logistics and dangerous goods management platform combining a Django REST API backend with a Next.js frontend.
/
βββ backend/ # Django REST API
βββ frontend/ # Next.js React App
βββ README.md # This file
- Python 3.9+
- Node.js 18+
- PostgreSQL
- Redis (for Celery background tasks)
-
Navigate to the backend directory:
cd backend
-
Create and activate a virtual environment:
python -m venv .venv # Windows .venv\Scripts\activate # macOS/Linux source .venv/bin/activate
-
Install dependencies:
pip install -r requirements.txt
-
Set up environment variables:
cp .env.example .env # Edit .env with your database and other settings
-
Run migrations:
python manage.py migrate
-
Create a superuser:
python manage.py createsuperuser
-
Start the development server:
python manage.py runserver
The Django API will be available at http://localhost:8000
-
Navigate to the frontend directory:
cd frontend
-
Install dependencies:
npm install
-
Set up environment variables:
cp .env.example .env.local # Edit .env.local with your API URL and other settings
-
Start the development server:
npm run dev
The Next.js app will be available at http://localhost:3000
For development, you'll typically want both the backend and frontend running simultaneously:
-
Terminal 1 (Backend):
cd backend .venv\Scripts\activate # Windows python manage.py runserver
-
Terminal 2 (Frontend):
cd frontend npm run dev
- Django Admin:
http://localhost:8000/admin/
- API Documentation:
http://localhost:8000/api/docs/
- API Schema:
http://localhost:8000/api/schema/
cd backend
python manage.py test
cd frontend
npm test
- User Management: Role-based authentication and permissions
- Dangerous Goods: Classification and compatibility checking
- Load Planning: 3D bin packing optimization
- Tracking: Real-time shipment and vehicle tracking
- Capacity Marketplace: Freight capacity trading
- Document Management: SDS and emergency procedure handling
- Modern React: TypeScript, Tailwind CSS, shadcn/ui components
- Real-time Updates: Live data fetching from Django API
- Responsive Design: Mobile-first, accessible interface
- Dashboard Views: Analytics and operational insights
Key settings in backend/safeshipper_core/settings.py
:
- Database configuration
- CORS settings for frontend
- API authentication settings
Key settings in frontend/next.config.js
:
- API base URL
- Build optimization
- Environment-specific settings
The Django backend can be deployed using:
- Docker containers
- Traditional WSGI servers (Gunicorn + Nginx)
- Platform-as-a-Service (Heroku, Railway, etc.)
The Next.js frontend can be deployed to:
- Vercel (recommended)
- Netlify
- Docker containers
- Static hosting with
npm run build && npm run export
- Create a feature branch from
main
- Make your changes in the appropriate directory (
backend/
orfrontend/
) - Test your changes thoroughly
- Submit a pull request with a clear description
This project is proprietary software. All rights reserved.
For technical support or questions:
- Create an issue in the project repository
- Contact the development team
Built with β€οΈ for safe and efficient logistics management # Force rebuild Thu Jul 3 23:22:31 AWST 2025