Skip to content

trevor-trinh/blockchain-expense-managment

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 

Repository files navigation

SimpliSpend 📚💰

Welcome to SimpliSpend, a revolutionary expense management solution tailored specifically for university clubs! SimpliSpend is a decentralized application (dApp) designed to streamline expense management with the power of blockchain. It enables students to submit and club authorities to approve or deny expenses—all on-chain. The cherry on top? If an expense is approved, the contract mints SIMP tokens to the student, which can then be swapped with USDC stored on the contract. Let's ease the financial management process for university clubs in a smart way!

🌟 Features

  • 💸 Fronting Cash: Students can make payments upfront and then submit their expenses for approval.
  • 📝 Expense Submission: A user-friendly interface to submit expense requests along with transaction details.
  • 🔒 On-chain Storage: Transaction details are stored on-chain, ensuring transparency and security.
  • 👍 Approval Process: University clubs have the authority to approve or deny expense requests.
  • 🪙 SIMP Token Generation: If an expense is approved, the contract mints SIMP tokens as a representation of the expense, which the student can then swap with USDC.

🎬 Demo

We've prepared some demonstration videos to showcase the functionality of SimpliSpend. These videos provide an overview of how the system works and how it can be used effectively for expense management in university clubs.

New Video Demo

SimpliSpend.Demo.-.Made.with.Clipchamp.mp4

Click on the image above to see our latest demo of SimpliSpend, where we delve into the latest features and improvements.

Old Video Demo

[email protected]

Click on the image above if you wish to view our older demonstration. It provides a comprehensive overview of the fundamental features of SimpliSpend.

🛠️ Tech Stack

  • Frontend: Next.js, Tailwind, Wagmi.js (ether.js)
  • Backend: MongoDB, Solidity

📜 Contract Addresses

🧰 Prerequisites

  • Install Node.js and yarn
  • Install Hardhat npm install --save-dev hardhat

🚀 Setup and Run

Frontend 🖥️

📥 Install Dependencies

yarn install

🏃 Run the Project

yarn dev

Backend ⚙️

📥 Install Dependencies

npm install

🌍 Environment Variables

Create a .env file in the root directory and provide the following:

MUMBAI_ETHERSCAN_KEY=your_etherscan_key
MUMBAI_URL=your_rpc_url
PRIVATE_KEY=your_private_key

🚀 Deploy SimpliSpend and MockUSDC

npx hardhat run scripts/deployUSDC.js --network mumbai
npx hardhat run scripts/deploy.js --network mumbai

✅ Verify SimpliSpend and MockUSDC

Replace ${SimpliSpend.address} and ${mockUSDC.address} with the actual contract addresses from the deployment output.

npx hardhat verify --network mumbai ${SimpliSpend.address} ${usdcAddress}
npx hardhat verify --network mumbai --contract contracts/MockUSDC.sol:MockUSDC ${mockUSDC.address}

🙌 Contribute

We welcome contributions to SimpliSpend! Feel free to fork the repo, make your changes, and then submit a pull request. If you find issues, please report them in the issues section of this repository. Certainly! Below is an example of how you might add a section for contributors, listing names, roles, and links.

Contributors

Here's a list of some amazing contributors:

Feel free to add your name here when you contribute!

📝 License

SimpliSpend is licensed under the MIT License. See LICENSE for more details.

Let's simplify expense management for university clubs together!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published