SUIVI is an online parcel sending service platform that connects senders (users) with riders (and/or parcel service companies). Users can request pickups, track deliveries, and conveniently complete transactions through integrated payment gateways. Riders (or courier companies) can manage assignments through a central dashboard, update parcel statuses, and communicate with users in real-time. Below is the Django implementation of SUIVI:
-
Homepage
- A straightforward landing page that highlights the core services and functionalities.
-
User Registration & Login
- Senders (users) can register and log in to request pickups and manage their parcels.
-
Parcel Sending Request Form
- Users can fill out a form specifying the parcel details (size, weight, pickup/delivery locations).
-
Riders & Parcel Service Companies Registration & Login
- Riders and companies can manage their profiles, accept/reject deliveries, and track parcels in transit.
-
Riders Dashboard
- Tools to manage assigned pickups, track deliveries, update parcel status, and communicate with senders.
-
Parcel Tracking
- Real-time parcel status updates from pickup through to final delivery.
-
Payment Integration
- Seamless payment workflows using an integrated payment gateway.
-
Rating and Feedback System
- Users can rate and provide feedback on the services they received, aiding other users in decision-making.
-
Mobile App Version
- An Android version for on-the-go access to SUIVI's core features.
-
Admin Panel
- Centralized management of user accounts, company registrations, usage analytics, and issue resolution.
- Python 3.7+
- PostgreSQL (recommended)
- pip or pipenv for managing Python dependencies
- A suitable web server (for production deployment)
- Django (Python web framework)
- Django ORM (database abstraction layer)
- PostgreSQL (production-grade database)
- HTML/CSS/JavaScript (frontend)
suivi-django/
├── db.sqlite3
├── entry
│ ├── __init__.py
│ ├── __pycache__
│ │ ...
│ ├── admin.py
│ ├── apps.py
│ ├── migrations
│ │ ....
│ ├── models.py
│ ├── static
│ │ ├── images
│ │ │ ...
│ │ ├── scripts
│ │ │ ├── dashboard.js
│ │ │ ...
│ │ ├── site.webmanifest
│ │ └── styles
│ │ ├── about1.css
│ │ ...
│ ├── templates
│ │ ├── about.html
│ │ ....
│ ├── tests.py
│ ├── urls.py
│ └── views
│ ├── __init__.py
│ ├── __pycache__
│ ...
├── faqs.py
├── manage.py
├── parcels
│ ├── __init__.py
│ ├── __pycache__
│ │ ...
│ ├── admin.py
│ ├── apps.py
│ ├── forms.py
│ ├── migrations
│ │ ...
│ ├── models.py
│ ├── payment.py
│ ├── templates
│ │ ├── parcel_history.html
│ │ ├── request_pickup.html
│ │ └── track_parcel.html
│ ├── tests.py
│ ├── urls.py
│ └── views.py
├── populate.py
├── populate_faqs.py
├── populate_rider.py
├── rider
│ ├── __init__.py
│ ├── __pycache__
│ │ ...
│ ├── admin.py
│ ├── apps.py
│ ├── backends.py
│ ├── forms.py
│ ├── migrations
│ │ ...
│ ├── models.py
│ ├── templates
│ │ ├── edit_rider_profile.html
│ │ ...
│ ├── tests.py
│ ├── urls.py
│ └── views.py
└── suivi
├── __init__.py
├── __pycache__
│ ...
├── asgi.py
├── settings.py
├── urls.py
└── wsgi.py
- Clone the repository (or download the ZIP):
git clone https://github.com/NjengaC/suivi-django.git
cd suivi-django
- Create and activate a virtual environment (recommended):
python3 -m venv venv
source venv/bin/activate # On macOS/Linux
venv\Scripts\activate.bat # On Windows
- Install dependencies:
pip install -r requirements.txt
- Login into PostgreSQL and create the database:
sudo -u postgres psql
CREATE DATABASE suivi;
\q
(Adjust as needed if you have different user privileges.)
- Configure environment variables (Optional) You may need to provide your database URI in an environment variable (e.g., DATABASE_URL):
export DATABASE_URL="postgresql://postgres:password@localhost/suivi"
- Navigate to your Django project's root directory and update your database settings in suivi/settings.py:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'suivi',
'USER': 'postgres',
'PASSWORD': 'password',
'HOST': 'localhost',
'PORT': 5432,
}
}
- Apply migrations to set up the initial database structure:
python manage.py migrate
- Start the Django development server:
python manage.py runserver
- Access the application in your browser:
http://127.0.0.1:8000
(Or whichever host and port you specify.)
Current Version: 0.1 - Django Framework Future updates will increment version numbers accordingly.
No specific legal and regulatory considerations until deployment. However, please ensure full compliance with data protection laws (e.g., GDPR) and payment standards (e.g., PCI DSS) before going live.
All content in this repository is provided as is. For production deployment, please include an appropriate license (e.g., MIT, Apache 2.0, or proprietary) to clarify usage and distribution rights.
Project Maintainer: Victor Njenga Email: victorcyrus01@gmail.com Issues/Contributions: Please open an issue or pull request on the GitHub repository. Thank you for using SUIVI Parcel Sending Service App (Django Version)! Your feedback and contributions are always welcome.