CheckOutPro is a comprehensive Point of Sale (POS) system featuring both a customer-facing Java Swing application and an admin web interface for product management, inventory control, and payment processing with Xendit integration.
- Multi-platform Architecture: Java desktop application for point-of-sale and Node.js web application for administration
- Xendit Payment Integration: Support for GCash, Maya, and QR code payments
- Flexible Order Options: Dine-in/takeout selection and customizable discounts
- Email Receipts: Automatic email generation for digital receipts
- Responsive Design: User-friendly interfaces for both cashiers and administrators
- Built with Java Swing and JDBC
- Features customer onboarding (Dine-In/Takeout)
- Dynamic product display with images
- Order management with discount options
- Multiple payment methods (Cash, GCash, Maya, QR Code)
- Xendit payment gateway integration
- Employee authentication
- Built with Node.js, Express, and EJS
- Product management (add, edit, delete)
- Order tracking and management
- Payment processing with Xendit integration
- Email notification system for receipts
- Image upload functionality
- User management
- Stores products, orders, users, and other system data
- Shared between both components
- Supports multiple payment methods (GCash, Maya, QR Code)
- Handles payment callbacks and status updates
- Secure payment processing with encryption
- Java JDK 11 or higher
- Node.js and npm
- MariaDB server
- Create a MariaDB database named
checkoutpro - Run the SQL scripts in the
databasedirectory to set up the schema
- Navigate to the
java-posdirectory - Compile the Java code:
javac -d bin src/**/*.java - Run the application:
java -cp bin App
- Navigate to the
admin-webdirectory - Install dependencies:
npm install - Create a
.envfile with the following variables:PORT=3002 DB_HOST=localhost DB_USER=root DB_PASSWORD=your_password DB_NAME=checkoutpro XENDIT_SECRET_KEY=your_xendit_secret_key XENDIT_PUBLIC_KEY=your_xendit_public_key BASE_URL=http://localhost:3002 EMAIL_SERVICE=gmail EMAIL_USER=your_email@gmail.com EMAIL_PASSWORD=your_app_password - Start the server:
npm start - Access the admin interface at: http://localhost:3002
- Email: admin@checkoutpro.com
- Password: admin123
- Bartolome, Java Jay J.
- Benedict Troy Quizon
- MJ Dominic Vitao
- Nathan Mori Bataluna
- Zyann Miguel Brizuela
This project is proprietary and confidential.