A comprehensive Point of Sale system with both mobile and web implementations for restaurant management.
This project includes:
- Mobile POS App (React Native/Expo) - For handheld POS operations
- Web POS System (Next.js) - For restaurant management and administration
- Blockchain Integration - Smart contract backend for payments and supply chain
- Multi-platform Support - Customer, driver, supplier, and admin interfaces
- Node.js 18+
- npm or yarn
- For mobile: Expo CLI and Android Studio/iOS Simulator
- For web: Modern web browser
cd mobile
npm install@nilelink/sync-engine package is missing.
Temporary Fix: Sync functionality has been disabled in the codebase. To restore:
- Create the missing package in
mobile/packages/sync-engine/ - Or remove sync-related imports from
mobile/apps/pos/src/store/sagas.tsandmobile/apps/pos/src/store/rootSaga.ts
cd mobile/apps/pos
npx expo start --offlineCurrent Status: Runs successfully but without sync capabilities.
- Uses Expo SDK for cross-platform mobile development
- SQLite for local data storage
- Redux Saga for state management
- Navigation with React Navigation
cd web/pos
npm installCreate .env.local:
# Web3 Configuration
NEXT_PUBLIC_WEB3MODAL_PROJECT_ID=your_project_id_here
# Blockchain
NEXT_PUBLIC_RPC_URL=https://polygon-rpc.com
NEXT_PUBLIC_CHAIN_ID=137
# Contract Addresses (deploy your contracts first)
NEXT_PUBLIC_NILELINK_PROTOCOL_ADDRESS=0x...Fix: Update Web3Modal dependencies to compatible versions:
npm update @web3modal/wagmi @rainbow-me/rainbowkitcd web/pos
npm run devCurrent Status: Development server starts but has wallet initialization errors.
- Next.js 14 with App Router
- Web3 integration with Wagmi/Viem
- Tailwind CSS for styling
- Redux for state management
npm installnpx hardhat node
# In another terminal:
npx hardhat run scripts/deploy.js --network localhostCopy deployed addresses to environment files in both mobile and web apps.
- Missing sync-engine: Package needs to be created or dependencies updated
- Expo build properties: iOS deployment target updated to 13.4
- Web3Modal initialization: Update to latest compatible versions
- Build failures: Many pages fail static generation due to wallet code
- API keys missing: Pinata, Web3Auth, and other service keys needed
- Dependency conflicts: Some packages may need version alignment
- Environment variables: Multiple
.envfiles needed for different environments
nilelink/
├── mobile/ # React Native monorepo
│ ├── apps/
│ │ ├── pos/ # Main POS app
│ │ ├── customer/ # Customer ordering app
│ │ ├── driver/ # Driver delivery app
│ │ └── supplier/ # Supplier management app
│ └── packages/ # Shared mobile packages
├── web/ # Next.js applications
│ ├── pos/ # Web POS system
│ ├── customer/ # Web customer interface
│ ├── driver/ # Web driver dashboard
│ ├── admin/ # Admin management system
│ └── shared/ # Shared web components
└── contracts/ # Solidity smart contracts
- Local Development: Use
npm run devin respective directories - Testing: Run
npm testfor unit tests - Building: Use
npm run buildfor production builds - Deployment: Configure environment variables for production
For issues:
- Check the
AUDIT_REPORT.mdfor system documentation - Review
TESTING_GUIDE.mdfor test scenarios - Check
TODO.mdfor known tasks
- Fork the repository
- Create a feature branch
- Make changes with proper testing
- Submit a pull request
This project is part of the NileLink ecosystem.