{"id":19873427,"url":"https://github.com/asutoshpati/parcel-management-system","last_synced_at":"2026-03-12T07:01:32.929Z","repository":{"id":158336616,"uuid":"316123693","full_name":"AsutoshPati/Parcel-Management-System","owner":"AsutoshPati","description":"This project simulates a real life example of Parcel Management System which will help the students to understand about the python and GUI integration with the database. This dummy project involve developing an UI for parcel management, creating a database to store parcel information, and providing real-time tracking updates to customers.","archived":false,"fork":false,"pushed_at":"2023-04-04T11:47:51.000Z","size":74989,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-27T23:25:09.220Z","etag":null,"topics":["gui","pyqt5","python","sqlite3","student-project"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AsutoshPati.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-11-26T04:35:49.000Z","updated_at":"2025-07-29T16:04:03.000Z","dependencies_parsed_at":null,"dependency_job_id":"f1b59ac6-c60c-4cf8-976c-7498d3c91214","html_url":"https://github.com/AsutoshPati/Parcel-Management-System","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AsutoshPati/Parcel-Management-System","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AsutoshPati%2FParcel-Management-System","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AsutoshPati%2FParcel-Management-System/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AsutoshPati%2FParcel-Management-System/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AsutoshPati%2FParcel-Management-System/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AsutoshPati","download_url":"https://codeload.github.com/AsutoshPati/Parcel-Management-System/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AsutoshPati%2FParcel-Management-System/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30417685,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-12T06:40:58.731Z","status":"ssl_error","status_checked_at":"2026-03-12T06:40:40.296Z","response_time":114,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gui","pyqt5","python","sqlite3","student-project"],"created_at":"2024-11-12T16:18:36.763Z","updated_at":"2026-03-12T07:01:32.906Z","avatar_url":"https://github.com/AsutoshPati.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Parcel Management System\n**Author**: Asutosh Pati\u003cbr\u003e\n**Purpose**: For training of MCCAI - batch 2 of CTTC, Bhuabneswar\u003cbr\u003e\n**Date of Creation**: 21 Nov. 2020\u003cbr\u003e\n**Last Updated**: 04 Apr. 2023\n\n### About this project\n\u003cdiv style=\"text-align: justify\"\u003e\nA parcel management system is a software application designed to help businesses manage their parcel delivery operations\nefficiently. This project simulates a real life example of Parcel Management system which will help the students to \nunderstand about the python and GUI integration with the data base. The system can track and manage parcels from the \ntime they are picked up until they are delivered to their final destination. This dummy project may involve developing \na user-friendly interface for parcel management, creating a database to store parcel information, and providing \nreal-time tracking updates to customers. The system can benefit businesses of all sizes, including e-commerce stores, \ncourier services, and supply chain companies, by improving operational efficiency, reducing errors, and enhancing \ncustomer satisfaction.\n\nIn this project we have 4 types of users (Admin, Agent, Customer, Manager), so that students can understand how diffrent\nroles work in programming environment; As this project provides certain functionalities that differ with the roles.\nEvery user can have access to their own profile data which can be modified by the user itself. Every user can order a \nparcel and can track the ordered parcel. Where as an agent can pickup a pracel and can deliver to an user. An Manager is\nthe incharge of a depot and can manage the shipment of parcel in depot of their supervision. An admin has access of \ncreating a new depot, manage user privileges like appointing managers, angents and new admins along with this admin has \nfull accesss over the database. With all this functionality the students can also learn about the versioning and the \nmodification works that can be done during development of any project is required.\n\n**You can use this source code for educational purposes untill and unless you provide the credits to the author. Also \ngive a star anf follow me if you like the project.**\n\u003c/div\u003e\n\n### Screenshots\n\n ![](./screenshots/PMS_1.png) | ![](./screenshots/PMS_2.png) |\n:-------------------------:|:-------------------------: |\n ![](./screenshots/PMS_3.png) | ![](./screenshots/PMS_4.png) |\n ![](./screenshots/PMS_5.png) | ![](./screenshots/PMS_6.png) |\n ![](./screenshots/PMS_7.png) | ![](./screenshots/PMS_8.png) |\n\n### How to use\nThis project is build over python \u0026 PyQt; and tested on python 3.9.13 with the below dependencies. Don't forget to \ninstall them before running the code.\n```\npip install PyQt5==5.15.7\npip install PyQtWebEngine==5.15.4\n```\nDon't want to install python or any other packages, simply move to ```dist``` directory and \n[download](https://github.com/AsutoshPati/Parcel-Management-System/tree/main/dist) ```PMS-one-file.exe``` or \n```PMS-one-dir.zip``` extract and run the application.\n\n\u003cbr\u003e\n\n#### Default Users\nThe below users will be created during the first run and further this users can be used to start using the program.\n\n| User ID | User Name        | Mobile     | Password    |\n|---------|------------------|------------|-------------|\n| 100001  | Default Admin    | 9999999999 | Default@123 |\n| 100002  | Default Manager  | 9999999999 | Default@123 |\n| 100003  | Default Agent    | 9999999999 | Default@123 |\n| 100004  | Default Customer | 9999999999 | Default@123 |\n\n\u003cbr\u003e\n\n#### Features\n| Features                   | Admin  | Manager | Agent | Customer |\n|----------------------------|--------|---------|-------|----------|\n| Signup                     | ❌️| ❌️| ❌️| ✔️|\n| Login                      | ✔️| ✔️| ✔️| ✔️|\n| Forgot Password            | ✔️| ✔️| ✔️| ✔️|\n| Update Profile             | ✔️| ✔️| ✔️| ✔️|\n| Order Parcel               | ✔️| ✔️| ✔️| ✔️|\n| Check Parcel Details       | ✔️| ✔️| ✔️| ✔️|\n| Track Parcel               | ✔️| ✔️| ✔️| ✔️|\n| Pickup Parcel              | ❌️| ❌️| ✔️| ❌️|\n| Deliver Parcel             | ❌️| ❌️| ✔️| ❌️|\n| Receive Parcel at Depot    | ❌️| ✔️| ❌️| ❌️|\n| Dispatch Parcel from Depot | ❌️| ✔️| ❌️| ❌️|\n| Manage Roles               | ✔️| ❌️| ❌️| ❌️|\n| Assign Manager to Depot    | ✔️| ❌️| ❌️| ❌️|\n| Exapan to New City         | ✔️| ❌️| ❌️| ❌️|\n| Establish New Depot        | ✔️| ❌️| ❌️| ❌️|\n\n\u003cbr\u003e\n\n#### Getting Started\n- Let's start by creating a new customer; Provide a name, select a appropriate title, provide an unique mobile number \nalong with a strong password which should contain atleast 6 characters and at max 18 with a upper case, lower case and \na digit, also don't forget to add a address.\n- You can also use the existing customer ```User ID: 100004; Password: Default@123``` for the following steps.\n- Once user is created successfully; it will automatically take you the dashboard.\n- **Now remember your user ID**; you will need it for next login.\n  - Incase you forgot your user ID; you can check it directly from the database in ```UserDetail``` table.\n- Now if you want; you can logout from the dashboard and try logging in again. Other wise continue with next steps.\n  - If you have logged out and don't remember the password you can try with ```forgot password``` option. Otherwise \nlogin to continue with the next steps.\n- Now let's try to modify some profile details; change the details you want to update (remember user ID can't be \nmodified at any time in the dashboard). Once you are done with changes just save it by clicking on ```modify profile```\nbutton. On success you will receive a confirmation message.\n- Now let's try to order a parcel; Go to ```Package``` ➡️ ```Order Parcel```. Select a payment type (as this is a \ndummy project platform will not ask you for any payment details) then select a product category as per you choice and \nplace the order. On success you will receive a confirmation message along with the parcel ID.\n- At this moment we have ordered a parcel, but for next steps we need to explore some functionalities of manager \u0026 agent\nroles. So you can logout from the customer dashboard. [Update User Role](#change-user-role)\n- Let's login as **Agent**. An agent can pickup or deliver parcels. You can try with the default agent \n(```User ID: 100003; Password: Default@123```) or you can create a new one that we will cover later in this section.\n- Let's try to pick up a parcel. Go to ```Agent``` ➡️ ```Pickup```. Now you can pickup a parcel by providing parcel ID\n(If you don't remember the parcel ID created at earlier stage then don't worry you can try with ```10000001```; or if \nyou haven't ordered any parcel yet then order a parcel first then try with this step again), weight, height, length and\nwidth of the parcel, also a return address is mandatory to provide. Once you have all the information you good to go. \nJust click on the ```Pickup``` button to continue. You will receive a confirmation message on success.\n- Now you can logout from agent dashboard and login as ```Customer``` to check the parcel details.\n  - Go to ```Package``` ➡️ ```My Parcels``` select a parcel ID you want to check details and continue.\n  - You can also track the parcel now. Go to ```Package``` ➡️ ```Track Parcel``` select the parcel ID you want to \n  track and continue.\n- Now let's logout and explore some functionalities of ```Admin```. An admin can expand to new city, create a new depot,\nmanage roles of user and assign manager to depots. Intially you have login with the default admin (```User ID: 100001; \nPassword: Default@123```) provided during the intialization of the app.\n- Let's add a new city now; go to ```Admin``` ➡️ ```Expand City```. Provide a new city name and click on ```Expand```\nto contine. On success you will receive a confiramtion message. \n  - **Remember only unique cities are allowed to create.**\n- Now we are all set a create a depot. Go to ```Admin``` ➡️ ```New Depot```.\n  - Provide the city ID (you can try with ```101``` if you have created city in the previous step, otherwise create a \n  city first to continue) and click on ```find``` to search for the city name; if you forgot city ID don't worry you can \n  check it in ```Admin ➡ Expand City``` page.\n  - Once you get the city name where you want to create depot; just provide a depot address and a manager ID (you can \n  use the default manager ```User ID: 100002``` or you can provide any other manager ID if you have creted, which we \n  will see in a later stage in this section [Update User Role](#change-user-role)) to create a depot.\n- [Optional Step] Now let's see how you can update manager of a depot. Go to ```Admin``` ➡️ ```Assign Manager```.\n  - Provide the depot ID (try with ```101``` if you have created depot at the prvious step; otherwise you can try with\n  other depot IDs when you create them) and manager ID (try with ```100002``` or you can use other manager IDs when you \n  create them) and click on ```Assign``` to assign manager to the depot.\n- \u003cspan id=\"change-user-role\" style=\"color: #FFCC00;\"\u003e**[Optional Step] Now let's see how you can update user roles**. Go to \n```Admin``` ➡️ ```Manage Role```.\u003c/div\u003e\n  - Provide an user ID and click of on ```Find User```. If any user is available with that ID you can update the role\n  by selecting the desired role and clicking on the ```Assign``` button.\n- Now let's explore some functionalities of ```Manager```. A manager can receive or dispatch parcel from the depot \nhe/she is assigned to. Login as a manager; you can use the default manager ```User ID: 100002; Passwor: Default@123``` \nor you can use any other manager credential if you have created them. [Update User Role](#change-user-role)\n- Go to ```Manager``` ➡️ ```Receive```. Select the depot ID and provide the parcel ID (you can try with \n```10000001``` if you have already ordered parcel; otherwise try with ordering a parcel) and click on ```Receive``` \nbutton to receive the parcel at depot.\n- There is similar process available to dispatch the parcel from the depot in ```Admin``` ➡️ ```Dispatch```.\n- You can login with the customer dashboard to track the parcel after the above process; and you will find the parcel \nstatus over there.\n- At last you can deliver or return a parcel by an agent; which you can find at ```Agent``` ➡️ ```Deliver```. Just\nprovide the parcel ID check the details and choose what to do, whether to deliver or to return.\n- After completing the above process. Login as customer and track the parcel to see the updated status.\n\n### License\n[GNU General Public License V3.0](https://www.gnu.org/licenses/gpl-3.0.en.html)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasutoshpati%2Fparcel-management-system","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fasutoshpati%2Fparcel-management-system","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasutoshpati%2Fparcel-management-system/lists"}