PF Final Project
PF Final Project
Group Members
Muhammad Rehan Khan SE-242555
Aqib Javed Khan SE-242486
Ahmed Hassan Khan SE-242475
Muhammad Waqas SE-242568
Muhammad Shahzaib SE-242662
1. Introduction
An Inventory System is a software application that helps organizations track their stock
levels, manage product details, and streamline inventory-related processes. It ensures that
businesses maintain the right amount of stock to meet customer demands without
overstocking or running out of items.
This project presents a user-friendly Inventory System that keeps track of products,
stock levels, suppliers, and sales. It allows users to add, update, delete, and search for
items, generate inventory reports, and manage stock efficiently.
2. Objectives
The proposed solution is a digital inventory system that automates stock management,
reduces errors, and provides real-time data to improve business operations.
4. System Requirements
Hardware Requirements:
Software Requirements:
5. System Design
The system follows a client-server architecture, where the client interacts with the user
interface, and the server handles data processing and storage.
scss
Copy code
Client (User Interface)
⬇
Backend Logic (CRUD Operations)
⬇
Database (MySQL)
Products Table: Contains product details (ID, name, category, quantity, price).
Suppliers Table: Stores supplier information.
Sales Table: Logs sales transactions.
Users Table: Manages user accounts for the system.
Level 0:
6. Implementation Details
This Inventory System is developed using Python with the Django framework and
MySQL as the database.
7. Code Explanation
#include <iostream>
#include <vector>
#include <string>
struct Item {
string name;
int quantity;
double price;
};
Item newItem;
inventory.push_back(newItem);
return;
cout << item.name << "\t\t" << item.quantity << "\t\t" << item.price << endl;
string itemName;
if (item.name == itemName) {
found = true;
int newQuantity;
double newPrice;
item.quantity = newQuantity;
item.price = newPrice;
break;
if (!found) {
string itemName;
if (it != inventory.end()) {
inventory.erase(it);
cout << "Item deleted successfully!" << endl;
} else {
// Main function
int main() {
vector<Item> inventory;
int choice;
while (true) {
switch (choice) {
case 1:
addItem(inventory);
break;
case 2:
displayItems(inventory);
break;
case 3:
updateItem(inventory);
break;
case 4:
deleteItem(inventory);
break;
case 5:
return 0;
default:
return 0;
Dashboard Screen: Displays the total number of products, sales, and low-stock alerts.
Add Product Screen: Form to add a new product to the inventory.
Stock Report Screen: Lists all products with their current stock levels.
9. Challenges Faced
Some of the key challenges faced during the development of this project were:
Solutions to these challenges included optimizing database queries, using Django’s built-in
authentication system, and employing front-end frameworks like Bootstrap.
10. Conclusion
11. References
GROUP MEMBERS :
Muhammad Rehan Khan SE-242555
Aqib Javed Khan SE-242486
Ahmed Hassan Khan SE-242475
Muhammad Waqas SE-242568
Muhammad Shahzaib SE-242662
THE END