S

Salary Dapp

This is a Salary Management Dapp that lets an organization's admin add employees and send them payments in Ethereum.

56

The problem Salary Dapp solves

We see a lot of startups coming up these days and a lot of companies are already there hustling on solving real-life issues. One such problem that exists is the mode of payment without the proof in the unorganized sector and this continues to grow with a lot of people jumping into the space. Using blockchain technology we want to improve this problem for the payment structure of these startups and companies by allowing an organization's admin to send payments to their employees and manage it all in one place. So we built a decentralized infrastructure tooling application that does this work for startups/companies by adding employees and paying them a salary at once.

This decentralized application also solves the problem of multiple hands involved in payment for a simple task of paying employees. In startups/companies we see that a team of more than is involved to manage salaries of employees that can simply be done by a single person. So using this application we allow a single person/admin to pay all of their employees at once on basis of the position they are working on. This would save a lot of resources for a startup/company as a task done by a team can now be done by a single person.

With the growing space of blockchain technology, we want to improve this classic system of salary management of a startup/company in a single click.

We hope to improve this project more in the future and add some interesting features to it like allowing multiple startups/companies to register on our service and manage their employee's other important details. We aim to make it a fully-fledged application for companies to improve their workflow and act as an important tool.

Thank you for giving us this chance to participate in this Hackathon.

Challenges I ran into

While building this project, we encountered a few issues and learned so many new things. This was the first time we worked on Next.js and we are extremely happy that we can put a working project. We used Tailwind CSS to design stuff and make it look better.

The very first challenge was to decide whether to allow anyone to call functions in our solidity code or not. We ended up deciding not to allow anyone else to call functions other than the person who deployed the contract.

But to allow Judges to test our application and use its all features for judgment purposes, we removed the onlyOwner modifier from our contract so that our application functionalities can be accessible.

We wanted to make our app gasless and implement Biconomy for the same purpose, but due to time restrictions and our ongoing college exams we had to drop the idea of using Biconomy. We hope to use it in the future for learning purposes.

We faced some issues in implementing the Connect Wallet button in our app's all components when using Next.js. We wanted to make a single component for that but due to our limited knowledge in using Next.js we couldn't do it, so the solution we came across this problem was to copy-paste the Connect Wallet button's logic in each component that needed it.

We also had issues with our Solidity code, we wanted to keep it simple and cost less gas, we spent a lot of time learning about this stuff, and at last, we were able to optimize our contract a little.

Discussion