Point of Sale
Experience seamless point of sale management with a versatile website and mobile app. Effortlessly handle products, orders, and payments.
Problem
Traditional cash registers and manual tracking systems can be error-prone, time-consuming, and lack the capabilities to manage inventory effectively. This leads to challenges in tracking sales, managing stock levels, and ensuring a seamless customer checkout experience.
Solution
This application offers a solution to streamline these processes, enabling businesses to handle transactions swiftly, maintain precise inventory records, and enhance overall operational efficiency.
Features
- Register and login in admin panel.
- Create, view, update and delete products in admin panel.
- Login in mobile tablet app.
- Add and remove products from cart using product ID in mobile tablet app with automatic quantity calculation.
- Pay for order in mobile tablet app using debit card with Stripe.
- View orders in admin panel including order items.
Utilization
- Admin panel fully responsive.
- Data fetching SSR in Next.js for products and orders in admin panel.
- Authentication with JWT.
- Stripe payments.
- Mobile tablet app for Android.
Automated Tests
- Admin Panel
- Unit tests with Jest.
- Integration tests with Jest and SuperTest.
- End-to-End tests with Cypress.
How To Test Mobile Tablet App
ANDROID ONLY
- Make sure you have registered an account in admin panel and added at least one product.
- Visit Mobile Tablet App link.
- Click 'Install'.
- Scan QR code with your android tablet (will open link in tablet browser).
- Click 'Install' in tablet browser.
- Download APK file and install.
- Launch installed app.
- Login with account you registered with in admin panel.
Tools
- HTML
- CSS
- JavaScript
- React.js
- Next.js
- React Native
- PostgreSQL
- Jest
- SuperTest
- Cypress
- Vercel
- Stripe
Deployment
- Back end (Next.js) deployed to Vercel.
- Admin panel front end (Next.js) deployed to Vercel.
- PostgreSQL database deployed to Vercel.
- Mobile Tablet App deployed to Expo.