EscrowPi is a prototype payment solution designed for the Pi Hackathon. It provides a simple escrow-based payment flow that enables secure transactions between buyers and sellers using Pi.
| App Logo | App Icon |
|---|---|
![]() |
![]() |
- Frontend: NextJS/ React, TypeScript, Tailwind + MUI
- Backend: Express/ NodeJS, REST API
- Database: MongoDB
- DevOps: GitHub Actions
src/app/– App Router pagessrc/components/– shared UI componentspublic/– static assets
The EscrowPi Front End is a Next.js project bootstrapped with create-next-app which is a React framework to build web applications. Prerequisite: Node 18+
npm install- Run
npm run buildto build the project; builds the app for production to the.nextfolder.- The build artifacts are bundled for production mode and optimized for the best performance.
- Create .env.local file from the .env.development template and replace placeholders with actual values.
- Execute
npm run devto spin up a dev server. - Navigate to http://localhost:4300/ in your browser.
- Execute Backend Local Execution for integration testing.
- The application will automatically reload if you change any of the source files.
- For local debugging in VS Code, attach the runtime server accordingly.
- Lint errors will be displayed in the console.
npm run build
npm start- Run
npm run testto execute the unit tests via Jest + Testing Library with jsdom. - Files:
jest.config.ts– Jest configuration (jsdom, ts-jest transform, CSS/file mocks)jest.setup.ts– Testing Library jest-dom setupsrc/__tests__/smoke.test.tsx– basic smoke test
- Philip Jennings
- Danny Lee
- Yusuf Adisa
- Rajasekhar Reddy
We welcome contributions from the community to improve the EscrowPi project.
