This repository contains the Smart contract source code written Solidity, The Frontend written in NextJS a Javascript Framework. Xtelpt is about Getting mental health care anywhere at anytime at 100% confidentiality.
Frameworks and APis • Usage • Issues? • Lesson and Remarks •
Note Refer to the
Frontend
&Smart Contract
Folder ReadME, for specific tools usage.
This Project was made possible with solidity
, hardhat
, chainlink
, quicknode
, IPFS
, NextJS
, HUDDLE01
, Polygon
, Git
, Chai
, EtherJS
, and Figma
. It's has features such as:
Chainlink Automation
: Was used to call the end Meeting function which is to be called every 24hours we made use of the Time based trigger cron jobs on the chainlink automation interface Here is link to the chainlink automation:IPFS
: Made use of pinata Ipfs API using file storage to save profile images and return a cid key in other to store on the Blockchain so I can retrieve the image at anytime for the account profile.QuickNode
: To help deploy my smart contract using the Polygon Mumbai test net on the blockchain, it is reliable scalable and work across all major blockchains.Polygon
: Built on Polygon Chain.- Creating of user or in this case a client profile.
- Creating of a host or doctors profile.
- Ability for a host to create a meeting and a user to enter the meeting.
- Becoming a volunteer for a campaign.
- Add profile name, pictures, bio and profession.
- A Decentralized WEBRTC for calls.
- Nft Marketplace for minting pass.
- Owned NFT collection.
- Notification.
- Creating Schedules for Hosts.
- Campaign can only be added through the contract.
Note Wallet must be Connected to access any feature. Currently on
Mumbai Faucet
.
- On opening of XTELPT and connecting of wallet, toggle on the host button to become a host while signing up.
- Edit your profile based on your professionalism.
- Set Schedule based on your preferred time and fee.
- Voluteer as a host on campaign(non-paid service)
- Get all meeting schedule on the notification bar, wait for time and click on it and start meeting.
- Navigate to campaign at the top bar and click on it.
- Search for specifics campaign or scroll down and click Get Help.
- The system automatically merges you with a Host and a call link will be in your notification.
- click and wait for prompts.
- xtelpt is enacting a reward gifting system for uncoerced individuals for being in stilt to others and sharing remedies for them in times of need in the community , xtelpt communites will serve as a trestle for mental health awareness programs where individuals can obliterate self-stigmatization, learning from previous experiences and getting to see ratified solutions of near same problem they are facing.
The XTELPT marketplace is for users to buy monthly passes in other to access host’s sessions for each month and after the month elapses the nft has to be renewed for the next month.
- Some of the packages we felt were
NextJS
fit for the project were depreciated versions so we had to stress a little in finding other best packages - Creating a custom room for different peers - With the help of the
Huddle01
docs we were able to overcome this challenge by creating a separate roomId prop for best usage. - Trying to do the custom logic
Chainlink keepers automation
, which was later swapped out for time based logic automation as it was what we needed. - Return a mapping in
solidity
, which I finally resolved to return a struct. - Verifying my smart contract where I could not paste a code if I import a library as a single file.
Ethers
as when I reload a page I get "INVALID address ENS name error" which was fixed by properly using the useeffect.
- Proper use of
for loop
insolidity
. - Usage of
keccak256 solidity hashing
to compare string insolidity
. - Usage of
EthersJS
to interact with smart contract which include reading and writing, items like signers and providers. - Custom hooks in
NextJS
. - Keeping track of States and manipulating them to get Best UI flow.
- Creating a Dynamic url in
NextJs
.