Kaipsool Plus
The app helps chemists and marketing teams simplify medicine ordering, manage offline purchases, track deliveries, and generate reports—saving time, reducing errors, and improving coordination between retailers and wholesalers.
Experienced Mobile application and Web Development with a demonstrated history of working in the information technology and services industry. Skilled in React Native, Javascript, ReactJs, NextJs, Flutter, Solidity, BlockChain, MySQL, PHP. Strong engineering professional with a Bachelor of Technology (B.Tech.) focused in Computer Technology/Computer Systems Technology from Bhagalpur College of Engineering.
Summary
Description: Learn key Blockchain concepts, intuition, and practical training to get you
quickly up to speed with all things Crypto and blockchain-related.
Issued: July 2023
Certification ID: UC-bdff91c8-1543-432e-90ca-bidaa75bcad3
Description: Ethereum and Blockchain technology is the most disruptive force in years.
Companies cannot hire developers who understand blockchain technologies fast enough, but there are a
tiny number of resources published to help you truly understand what blockchains are used for, let
alone build apps with them. That's the purpose of this course: to be the best resource online for
learning about Ethereum, blockchains, and how to build apps with this new technology. The
development community is still figuring out the best way to use Ethereum in the creation of new and
exciting apps. I spent a tremendous amount of time to research and create best practice for
interfacing with Ethereum from Javascript.
Issued: December 2022
Certification ID: UC-4c080bab-7a0e-4ab6-8236-7fbe5949c490
5+ years of experience as Web Developer. Experience of Interacting with the Client & Understanding requirements. Experience of Designing the layout, UI while achieving Customer/user Friendliness.
Created Reusable react presentation and container components. Good understanding and usage of states and props. Implemented EcmaScript6 (ES6) arrow functions, constants, block-scope variables, class inheritance.
Build Mobile Application with React native and Integrate API.
Worked on code Spilitting and use Resuable Componants
Understand Flutter concepts and Create open chat Application using firebase
Integrate Video Chat Application using WebRTC
Working on Widgets and Plugin Integration.
Build Mobile Application with React native.
Involved in Various Projects Ecommerce and worked on all the Devices.
Mananging and Uploading Application form App-store and Play-store
Experience in Cross-Platform Mobile Development using
React Native + Redux based mobile app
Used React concepts like JSX (JavaScript Syntax
Extension), components, state and props.
Building reusable components and front-end libraries for future use.
Creating User Interface using React native Paper.
Integrating API in React Native app.
Build websites using VueJs and NextJs.
activity involved with client meetings.
Design new features for existing websites.
Developing and creating PHP MySQL applications as per
the specifications.
Troubleshot problems with PHP and other web
technologies.
// SPDX-License-Identifier: MIT pragma solidity ^0.8.7; contract Web3Amazon { address public owner; struct Product { uint256 ID; string name; string image; uint256 price; uint256 rating; uint256 stock; } mapping(uint256=>Product) public products; struct Order { uint time; Product product; } mapping(address=>uint256) public orderCount; mapping(address=>mapping(uint256=>Order)) public orders; event List(string name, uint256 price, uint256 quantity); event Buy(address buyer, uint256 orderID, uint256 productID); constructor() { owner = msg.sender; } modifier onlyOwner { require(msg.sender == owner, "You don't have access to List Products!"); _; } modifier checkStock(uint256 _stock) { require(_stock > 0, "Product is Out Of Stock!"); _; } function listProduct( uint256 _ID, string memory _name, string memory _image, uint256 _price, uint256 _rating, uint256 _stock ) public onlyOwner { products[_ID] = Product(_ID, _name, _image, _price, _rating, _stock); emit List(_name, _price, _stock); } function buyProduct(uint256 _ID) public payable { Product memory product = products[_ID]; require(msg.value >= product.price, "Product is Out Of Stock!"); require(product.stock > 0, "Product is Out Of Stock!"); Order memory order = Order(block.timestamp, product); orderCount[msg.sender]++; orders[msg.sender][orderCount[msg.sender]] = order; products[_ID].stock = product.stock - 1; emit Buy(msg.sender, orderCount[msg.sender], _ID); } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.7; contract Election { struct Candidate { uint id; string name; uint voteCount; } mapping(address=>bool) voters; mapping(uint=>Candidate) public candidate; uint public candidateCount = 0; constructor() { addCandiate("BJP"); addCandiate("Congress"); } modifier verifyVoters() { require(!voters[msg.sender], "You have alreday done process of voating!!"); _; } function addCandiate(string memory _name) private { candidateCount++; candidate[candidateCount] = Candidate(candidateCount, _name, 0); } function vote(uint _candidateId) public verifyVoters { voters[msg.sender] = true; candidate[_candidateId].voteCount++; } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.8; contract Hotel { enum Status { Occupied, Vacent } Status currentStatus; address public owner; constructor() { owner = msg.sender; currentStatus = Status.Vacent; } modifier roomStatusModifier() { require(currentStatus == Status.Vacent, "Already Occupied!"); _; } modifier paymentStatusModifier() { require(msg.value > 0.01 ether, "You do not have enfough money!!"); _; } receive() external payable roomStatusModifier paymentStatusModifier { payable(owner).transfer(msg.value); currentStatus = Status.Occupied; } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.8; contract Upload { struct Access { address user; bool access; } mapping(address=>string[]) value; mapping(address=>mapping(address=>bool)) ownership; mapping(address=>Access[]) accessList; mapping(address=>mapping(address=>bool)) previousData; function add(address _user, string memory url) external { value[_user].push(url); } function allow(address user) external { ownership[msg.sender][user] = true; if(previousData[msg.sender][user]) { for(uint i=0;i < accessList[msg.sender].length; i++) { if(accessList[msg.sender][i].user == user) { accessList[msg.sender][i].access = true; } } } else { accessList[msg.sender].push(Access(user, true)); previousData[msg.sender][user] = true; } } function disallow(address user) public { ownership[msg.sender][user] = false; for(uint i=0;i < accessList[msg.sender].length; i++) { if(accessList[msg.sender][i].user == user) { accessList[msg.sender][i].access = false; } } } function display(address _user) external view returns(string[] memory) { require( _user == msg.sender || ownership[_user][msg.sender], "You don't hace access"); return value[_user]; } function shareAccess() public view returns(Access[] memory) { return accessList[msg.sender]; } }
PriceConvertor.sol // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import "@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol"; library PriceConvertor { function getPrice() internal view returns(uint) { // ABI // Address 0xD4a33860578De61DBAbDc8BFdb98FD742fA7028e AggregatorV3Interface priceFeed = AggregatorV3Interface(0xD4a33860578De61DBAbDc8BFdb98FD742fA7028e); (,int price, , ,)=priceFeed.latestRoundData(); return uint(price*1e10); } function priceConversionRate(uint ethAmount) internal view returns(uint) { uint ethPrice = getPrice(); // 3000_000000000000000000 = ETH / USD Price // 1_000000000000000000 = ETH uint ethPriceInUsd = ( ethAmount * ethPrice ) / 1e18; return ethPriceInUsd; } function getVersion() internal view returns(uint) { AggregatorV3Interface priceFeed = AggregatorV3Interface(0xD4a33860578De61DBAbDc8BFdb98FD742fA7028e); return priceFeed.version(); } } FundMe.sol // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import './PriceConvertor.sol'; contract FundMe { using PriceConvertor for uint; uint public mimimumUsd = 10 * 1e18; // 1000000000000000000 ETH address[] public funders; mapping(address=>uint) public funderAddressToPrice; address public owner; constructor() { owner = msg.sender; } function fund() public payable { // want to send minimum USD for fund // require(priceConversionRate(msg.value) > mimimumUsd, "don't have enfough amount"); // with library we need to call something like below // require(priceConversionRate(msg.value) > mimimumUsd, "don't have enfough amount"); // or require(msg.value.priceConversionRate() > mimimumUsd, "don't have enfough amount"); // here bydefault msg.value is first paramter if we need to send second Params use msg.value.priceConversionRate(234) funders.push(msg.sender); funderAddressToPrice[msg.sender] = msg.value; } function withdraw() public _onlyOwner { for(uint fundIndex = 0; fundIndex < funders.length; fundIndex++) { address funder = funders[fundIndex]; funderAddressToPrice[funder] = 0; } funders = new address[](0); (bool callSuccess, ) = payable(msg.sender).call{ value : address(this).balance}(""); require(callSuccess, "Transfer Failed"); } modifier _onlyOwner() { require(owner == msg.sender, "Your are not owner!"); _; } receive() external payable { fund(); } fallback() external payable { fund(); } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.7; contract Donation { address owner; uint balance; bool isDiseases; constructor() payable { owner = msg.sender; balance = msg.value; isDiseases = false; } address payable[] walletAddress; mapping(address => uint) inheritance; modifier onlyOwner() { require(owner == msg.sender, "You don't have access to Set Inheritance!!"); _; } modifier verifyDiseases() { require(isDiseases == true, "You don't have any Diseases!!"); _; } function setInheritance(address payable _walletAddress, uint _amount) public onlyOwner{ walletAddress.push(_walletAddress); inheritance[_walletAddress] = _amount; } function payout() private verifyDiseases { for(uint i=0; i < walletAddress.length; i++) { walletAddress[i].transfer(inheritance[walletAddress[i]]); } } function hasDiseases() public onlyOwner { isDiseases = true; payout(); } }