https://github.com/mikbolshakov/salary-payment
Fullstack web3 project that streamlines employee payroll management using blockchain technology. Key functionalities include managing employees, assigning salaries/bonuses, and mass payouts with ERC20 tokens.
https://github.com/mikbolshakov/salary-payment
blockchain erc20 fullstack smart-contracts web3
Last synced: 12 months ago
JSON representation
Fullstack web3 project that streamlines employee payroll management using blockchain technology. Key functionalities include managing employees, assigning salaries/bonuses, and mass payouts with ERC20 tokens.
- Host: GitHub
- URL: https://github.com/mikbolshakov/salary-payment
- Owner: mikbolshakov
- Created: 2023-06-06T20:11:12.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2025-06-29T18:01:44.000Z (about 1 year ago)
- Last Synced: 2025-06-29T19:19:05.236Z (about 1 year ago)
- Topics: blockchain, erc20, fullstack, smart-contracts, web3
- Language: TypeScript
- Homepage:
- Size: 1020 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Salary Payment App
The Salary Payment is a decentralized application (dApp) that simplifies payroll management using blockchain technology. It has seamless integration of smart contracts for secure and transparent employee salary management, a backend indexer with database storage for extended functionality, and a React user-friendly interface for user interaction.
---
## Project Architecture
### Blockchain Layer
- **Tools and Frameworks:**
- [Hardhat v5](https://hardhat.org/): For smart contract development, testing, and deployment.
- [Ethers v6](https://docs.ethers.org/v6/): For testing and interacting with the EVM blockchains.
- [OpenZeppelin v5](https://www.openzeppelin.com/): For security and standardization
- **Smart Contracts:**
- Written in **Solidity 0.8.28**.
- Add/remove employees. Assign salaries, bonuses, and penalties.
- 100% test coverage ensures reliability.
- **ERC20 Token Support:**
- Used ERC20 token as the currency for salary payments.
- Pay salaries to all employees in one transaction.
### Backend Layer
- **Technology Stack:**
- [Node.js](https://nodejs.org/en) and [TypeScript](https://www.typescriptlang.org/): For building a reliable and scalable backend.
- [PostgreSQL](https://www.postgresql.org/): For storing employee details and transaction history.
- **Functionality:**
- Acts as an indexer for the blockchain, syncing on-chain data with off-chain storage.
- Stores additional data (e.g., full names of employees, records of salary payment transactions).
- Provides RESTful APIs for interacting with employee and transaction data.
### Frontend Layer
- **Technology Stack:**
- [React](https://react.dev/) and [TypeScript](https://www.typescriptlang.org/): For building a user-friendly and responsive interface.
- [MetaMask](https://metamask.io/): For blockchain interactions.
- **Features:**
- Display a table of employees with search functionality by wallet address and full name.
- Easy-to-use forms for adding, updating, and removing employees.
- Comprehensive dashboard displaying:
- Employee details.
- Transaction history.
- Token balances.
---
This project combines blockchain, backend, and frontend technologies to deliver a seamless and transparent solution for salary management, ensuring data consistency and providing an intuitive user experience.