system_hospital
v2.9.9
Published
**1. Users** - id (Primary Key) - username - password - createdAt
Readme
StockHub Ltd - Stock Management System (SMS)
Entity Relationship Diagram (ERD) Description
Entities and Attributes
1. Users
- id (Primary Key)
- username
- password
- createdAt
2. Products
- productCode (Primary Key)
- productName
- category
- quantityInStock
- unitPrice
- supplierName
- dateReceived
- warehouseCode (Foreign Key → Warehouses)
3. Warehouses
- warehouseCode (Primary Key)
- warehouseName
- warehouseLocation
4. StockTransactions
- transactionId (Primary Key)
- transactionDate
- quantityMoved
- transactionType
- productCode (Foreign Key → Products)
- warehouseCode (Foreign Key → Warehouses)
Relationships and Cardinalities
Warehouses to Products: One-to-Many (1:N)
- One warehouse can store many products
- Each product belongs to one warehouse
Products to StockTransactions: One-to-Many (1:N)
- One product can have many transactions
- Each transaction relates to one product
Warehouses to StockTransactions: One-to-Many (1:N)
- One warehouse can have many transactions
- Each transaction occurs at one warehouse
Features Implemented
Authentication
- User Login with session management
- User Registration (new endpoint)
- Logout functionality
Products Management
- INSERT operation (Add new products)
- Retrieve/Display all products
Warehouses Management
- INSERT operation (Add new warehouses)
- Retrieve/Display all warehouses
Transactions Management
- INSERT, UPDATE, DELETE, RETRIEVE operations (Full CRUD)
- Stock in/out tracking with automatic stock adjustment
Reports
- Daily Stock Report
- Weekly Stock Report
- Monthly Stock Report
- Stock In Report
- Stock Out Report
Bills Generation (New)
- Generate individual bills for stock out products
- Generate bills report for date ranges
- Professional invoice format with all product details
Project Structure
wor/
├── backend-project/
│ ├── server.js # Node.js/Express backend with MySQL
│ ├── app.js # Backend initialization
│ ├── schema.sql # MySQL database schema
│ └── package.json # Backend dependencies
├── frontend-project/
│ ├── src/
│ │ ├── components/
│ │ │ ├── Login.jsx # Login page
│ │ │ ├── Register.jsx # Registration page
│ │ │ ├── Dashboard.jsx # Main dashboard
│ │ │ ├── Products.jsx # Product management
│ │ │ ├── Warehouses.jsx # Warehouse management
│ │ │ ├── Transactions.jsx # Transaction management
│ │ │ ├── Reports.jsx # Reports section
│ │ │ └── Bills.jsx # Bill generation
│ │ ├── App.jsx # Main application component
│ │ └── main.jsx # Entry point
│ └── package.json # Frontend dependencies
└── README.md # DocumentationTechnologies Used
- Backend: Node.js, Express.js, MySQL2, Express-Session
- Frontend: React.js, Tailwind CSS, Axios, React Router DOM
- Database: MySQL
