PayWave is a Next.js-based web application that aims to revolutionize contactless payments. This project provides a seamless and secure platform for users to manage transactions, generate QR codes, and handle various payment-related operations.
- User authentication (login, register, forgot password)
- Dashboard with transaction overview
- QR code generation for payments
- QR code scanning functionality
- Transaction history and management
- Wallet management
- Notifications system
- Responsive design for mobile and desktop
- Next.js 14
- React 18
- TypeScript
- Tailwind CSS
- Zustand for state management
- React Query for data fetching
- Zod for schema validation
- Next-PWA for Progressive Web App functionality
-
Clone the repository:
git clone https://github.com/PayWave-Project/PayWave-Project-webapp.git -
Install dependencies:
cd paywave pnpm install -
Set up environment variables: Create a
.env.localfile in the root directory and add the following:NODE_ENV=development NEXT_PUBLIC_BASE_URL=https://paywave-api-tcpl.onrender.com/api/v1 -
Run the development server:
pnpm run dev -
Open http://localhost:3000 with your browser to see the result.
src/app: Contains the main application pages and layoutssrc/components: Reusable React componentssrc/api: API integration functionssrc/hooks: Custom React hookssrc/store: Zustand store configurationssrc/types: TypeScript type definitionspublic: Static assets and PWA manifest
To create a production build, run: pnpm run build
Then, to start the production server: pnpm start
This project is configured as a PWA. The PWA settings can be found in: typescript:next.config.mjs
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License. See the LICENSE file for details.