A responsive jQuery-based Point of Sale system frontend that integrates with a backend API for customer, item, and order management.
- Customer Management: Add, view, update, and delete customers
- Item Management: Add, view, update, and delete items
- Order Management: Place orders with multiple items, apply discounts
- Real-time Stock Updates: View available stock while selecting items
- Shopping Cart: Add items, adjust quantities, remove items
- Responsive Design: Works on desktop and tablet devices
pos/
├── index.html # Home page
├── API_DOCUMENTATION.md # Complete API documentation
├── README.md # This file
├── css/
│ └── common.css # Shared styles for all pages
├── js/
│ ├── customer.js # Customer management with jQuery AJAX
│ ├── item.js # Item management with jQuery AJAX
│ └── place-order.js # Order placement with jQuery AJAX
└── pages/
├── customer.html # Customer details page
├── item.html # Item details page
└── place-order.html # Place order page
- Modern web browser (Chrome, Firefox, Safari, Edge)
- Backend API running on
http://localhost:8080/v1 - jQuery 3.6.0 (loaded from CDN)
Make sure your backend API is running on http://localhost:8080/v1. The following endpoints must be available:
- Customers: GET, POST, PUT, DELETE
/customersand/customers/{id} - Items: GET, POST, PUT, DELETE
/itemsand/items/{code} - Orders: GET, POST, PUT, DELETE
/ordersand/orders/{id}
For more details, see API_DOCUMENTATION.md
- Clone or download this project
- Open
index.htmlin your web browser - Navigate to the different pages using the navigation menu
No build process required! This is a vanilla HTML/CSS/jQuery project.
Page: pages/customer.html
- Enter customer name, phone number, and address
- Click "Save" button
- Customer appears in the list below
- Click "Edit" button on the customer in the list
- Modify the details in the form
- Click "Update" button
- Click "Edit" button on the customer
- Click "Delete" button
- Confirm deletion
Page: pages/item.html
- Enter item code, name, unit price, quantity, and description (optional)
- Click "Save" button
- Item appears in the list below
- Click "Edit" button on the item in the list
- Modify the details in the form
- Click "Update" button
- Click "Edit" button on the item
- Click "Delete" button
- Confirm deletion
Page: pages/place-order.html
- Select a customer from the dropdown
- Select an item and enter quantity
- Click "Add to Cart" button
- Review the item in the shopping cart
- Repeat steps 2-4 for additional items
- Review totals (subtotal and 5% discount applied)
- Click "Place Order" button to confirm
- Remove Item: Click "Remove" button on the item in the cart
- Clear Cart: Click "Clear Cart" button to remove all items
- Modify Quantity: Remove the item and add it again with the desired quantity
http://localhost:8080/v1
saveCustomer() // Create new customer
loadAllCustomers() // Load all customers
getCustomerById(id) // Get customer details
updateCustomer() // Update customer
deleteCustomer() // Delete customersaveItem() // Create new item
loadAllItems() // Load all items
getItemById(id) // Get item details
updateItem() // Update item
deleteItem() // Delete itemloadCustomersForDropdown() // Load customers for dropdown
loadItemsForDropdown() // Load items for dropdown
addToCart() // Add item to cart
removeFromCart(index) // Remove item from cart
placeOrder() // Place order- Verify backend API is running on
http://localhost:8080/v1 - Check browser console for CORS errors
- Ensure backend allows requests from your origin
- Check network tab in browser developer tools
- Verify the API response is successful
- Check browser console for AJAX errors
- Ensure the backend is saving data correctly
- Refresh the page and reload data
- Verify items exist in the backend database
- Check quantity on hand in the item details
- Ensure item code matches in the dropdown
- Check the item unit price in the backend
- Verify quantity is correct
- Ensure 5% discount is being applied correctly
Edit the BASE_URL variables in each JavaScript file:
customer.js:const BASE_URL = "your_url/customers"item.js:const BASE_URL_ITEMS = "your_url/items"place-order.js: UpdateBASE_URL_*variables
In place-order.js, find the updateTotals() function and change:
const discount = subTotal * 0.05; // Change 0.05 to desired percentageEdit css/common.css to customize colors, fonts, and layout.
- Chrome 90+
- Firefox 88+
- Safari 14+
- Edge 90+
- jQuery 3.6.0 - Loaded from CDN
- No other external dependencies
- Add authentication/login system
- Add order history and search
- Add customer address book
- Add payment integration
- Add receipt printing
- Add barcode scanning
- Add inventory management dashboard
- Add sales reports
This project is provided as-is for educational purposes.
For issues or questions:
- Check the API_DOCUMENTATION.md
- Review browser console errors
- Verify backend API responses using cURL or Postman
- Check network requests in browser developer tools
Developed for IJSE - Advanced Application Development (AAD) Course
Last Updated: February 12, 2026