Skip to content

himanshupathak95/Event-Scheduler-DApp

Repository files navigation

Event-Scheduler-DApp

Event Scheduling Decentralized Application

  • using Truffle Suite
  • powered by Ethereum Smart Contracts
  • Inspired by Microsoft To Do

The Application is MIT Licensed

About

Event Scheduler DApp, as the name suggests is an application to schedule, organize and plan your events without them being centralized. You can add your events and initially they will be marked as 'Incomplete event' but when you check the box, they will be marked as 'Completed event'. Completed events can again be marked as 'Incomplete' by unchecking the box, adding them back in the 'Incomplete events' list. You get a lot of flexibility in this regard. Decentralization as we know is the next step of technological advancement involving tons of advantages and improved efficiency. This is a simple implementation and portrayal of its capabilities.

Objective

The goal is to display the power of decentralization by blockchain technology and also educate the budding developers through a small scale implementation.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. Follow along and Please check the required versions of various packages and install the prerequisites :

  • Solidity : ^0.4.17
  • Truffle : ^5.0.2
  • web3: ^0.20.6
  • ganache-cli : ^6.12.2
  • Metamask Wallet extension in your Browser

Installing

A step by step series of commands guiding you to get the development env running

Clone this repository on your local machine :

git clone https://github.com/himanshupathak95/Event-Scheduler-DApp.git

Install the dependencies :

npm install

Install Solidity Compiler :

npm install solc@latest

Launch Ganache using your MNEMONIC :

ganache-cli -m "involve small start enjoy weird trust ethics matrix collect zoo bench east"

Now, In a seperate Teminal window, compile the Truffle Smart Contract :

truffle compile

When the compilation finishes successfully, the contract is ready for the deployment. Deploy the Truffle Smart Contract :

truffle migrate

Testing

Once your Smart Contract is successfully deployed, use truffle migrate --reset to reset the copy of your contract on the blockchain if you wish to do so. After deployment, we shall be testing the contracts.
Here we have 3 tests for :

  • creation of events
  • deployment of events
  • completion of events

(Optional - You can also use the Addtional Test for testing the listing of events)

truffle test

Launch the DApp

In a separate terminal window, launch the DApp :

npm run dev

Built With

  • Ethereum : Ethereum is a decentralized platform that runs smart contracts
  • Truffle Suite : Truffle is the most popular development framework for Ethereum with a mission to make your life a whole lot better
  • MetaMask : An amazing crypto wallet & gateway to blockchain apps

Author

Himanshu Pathak