InterPayToll is a comprehensive toll interoperability and analytics system designed for highways. The project facilitates financial reconciliation of debts between toll operators due to cross-system vehicle transits and provides advanced analytics services.
Our application is built on the PERN stack:
- PostgreSQL: Open-source ORDBMS supporting both SQL and JSON querying
- Express.js: Fast, unopinionated web framework for Node.js
- React: JavaScript library for building dynamic user interfaces
- Node.js: JavaScript runtime for server-side applications
- Install and set up all PERN stack components
- Create two PostgreSQL databases:
interpaytoll(main database)interpay_test(testing database)
git clone [your-repository-url]Navigate to back-end directory and create .env file:
# Server Configuration
PORT=9115
NODE_ENV=development
# Database Configuration
DB_USER=<yourusername>
DB_HOST=localhost
DB_NAME=interpaytoll
DB_PASSWORD=<yourpassword>
DB_PORT=5432
# Authentication
JWT_SECRET=your_jwt_secret_here
# Testing
TEST_DB_NAME=interpay_testRun npm install manually in each directory (front-end/, back-end/, cli-client/).
cd back-end/src
./generate-cert.sh # generate certificate for https
node scripts/initEmptyDb.js # Creates schema and initializes user accountsBackend:
cd back-end
node --watch src/server.jsNote: Run the postman collection if you have access to it.
CLI Setup:
cd cli-client/testing
chmod +x pretty42.sh
./pretty42.shFrontend:
cd front-end
npm run devBackend Tests:
cd back-end/__tests__
npm testCLI Tests:
cd cli-client/__tests__
npm test- The frontend UI is designed for operators only. When logging in, ensure your username matches an operator account, otherwise features like charts won't be rendered.






