Giter Site home page Giter Site logo

rohitagarwal0910 / lancersquare Goto Github PK

View Code? Open in Web Editor NEW
3.0 2.0 6.0 5.92 MB

A simple freelancing platform running on Ethereum (Ropsten) blockchain

Home Page: https://lancersquare.herokuapp.com

JavaScript 61.32% HTML 0.58% CSS 8.97% Solidity 29.12%
blockchain mern-stack solidity

lancersquare's Introduction

LancerSquare

LancerSquare is a prototype of a freelancing platform which stores it's data on blockchain. Blockchain ensures that the data is always secure and can not be tampered with and provides a secure and integrated payment system too.

Application deployed on Heroku at lancersquare.herokuapp.com, currently running on Ropsten Test network.
Smart Contract deployed at address 0x53195d8116b87abef1707f854f4679263bc00d8a.

Basic Overview

Idea of LancerSqaure is to ease the difficulties faced by freelancers now-a-days such as unsurity about payment and high fees charged by middlemen. Blockchain can help by guaranteeing payments with help of smart contracts, providing security and an integrated payment system which can save time delays and fees in cases of international payments and its decentralised nature means there is no middleman to charge fees.

LancerSqaure is a simple implementation of the above idea. New projects can be created by users (reffered to as creators, posters or clients) which are then listed on the website. Freelancers (reffered to as assignees) can look through these projects and contact the clients who can then assign their projects to the freelancer they like.
Before assigning a project, the clients have to deposit the reward money in a smart contract (kind of like an escrow) that can be released upon completion of the task. Through this, assignees can verify that the client indeed have enough money to fund the project. Temper-proof nature of blockchain ensures that all the data is secured.

Read the original pitch here

Architecture

The architecture was designed so that a balance is kept between security and costs. It is developed using solidity for smart contract development, MERN Stack for the application layer and Fortmatic as web3 and public node access provider.

Each project consists of details such as task description, contact info, the client address, the assignee address and reward.
While creating a project, data such as description and contact info (which are expensive to store on a blockchain) are stored on a MongoDB database whereas all sensitive data such as addresses of people and details of money involved are stored on the blockchain. To guarantee the authenticy of data stored on MongoDB, a SHA1 hash of the data is also stored in blockchain which can be verified anytime to check if the data is correct.

For seeing details of a project, the user application queries both MongoDB and the blockchain to collect all the pieces of project data. Then it calculates the SHA1 hash of the data stored in the MongoDB and matches it with the hash stored in blockchain to verify its authenticity.
Even if MongoDB database is compromised in future, no loss will be faced by anyone as it can be easily detected.
Instead of MongoDB, decentralised file storage systems such as IPFS can be used for a truly decentralised platform.

Smart Contract

Checkout Smart Contract folder to know more.

lancersquare's People

Contributors

rohitagarwal0910 avatar dependabot[bot] avatar

Stargazers

Shubham Agrawal avatar Rusyaidi Mazlan avatar Dipak Saraf avatar

Watchers

James Cloos avatar Dipak Saraf avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.