Welcome to the DevHub DApp By Jni project repository! This decentralized application (DApp) leverages blockchain technology to implement an devhub platform on the Sui network. Developers can add their contact details so that recruiters can contact them.
The DevHub DApp By Jni provides a user-friendly interface to help recruiters find developers.
Follow these steps to set up the project locally.
- Node.js: Ensure Node.js is installed. Download it from nodejs.org.
- Sui: Ensure Sui is installed. Download it from Suibase.io
- Clone the repository:
git clone https://github.com/Jni75/Julien-Nicole-Final-Project.git
- Navigate to the project directory:
cd SuiDevHubFrontEnd
- Install required npm packages:
npm install
-
Publish the package if devnet has been reset (see Smart Contracts)
-
Start the development server:
npm run dev
-
Open your web browser and navigate to
http://localhost:5000
to access the DApp. -
Connect your SUI wallet to the DApp.
-
Browse developer list, add card, and edit your contact details.
Start the devnet server:
devnet start
Retrieve the local address:
dsui client active-address
Show gas balance:
dsui client gas
Get some coin if needed
Build the package:
cd SuiDevHub
dsui move build
Test the package:
cd SuiDevHub
dsui move test
Publish the package:
cd SuiDevHub
dsui client publish --gas-budget 2000000000 .
Edit package.json file to change the default port (5000):
"scripts": {
"dev": "next dev -p 5000",
"build": "next build",
"start": "next start",
"lint": "next lint"
}
Set CONTRACT_ADDRESS, DEVHUB_ADDRESS & DEVHUB_OBJECT_TABLE_ADDRESS in constants.ts file:
/**
* Package address
*/
export const CONTRACT_ADDRESS = "0x3f6010f62157e688d5d4658e52837a10b80bffcf954a2057474d6624e9bd8246"
/**
* DevHub address
*/
export const DEVHUB_ADDRESS = "0xe440ba4fc8d2478f012f795b3b8aaa440e97ab266418a3bd7d19774f8bf4dbba"
/**
* DevHub Object Table address
*/
export const DEVHUB_OBJECT_TABLE_ADDRESS = "0x4f6f1da230c5b26e8b31d8392b4505476b7fc0eea73065aa6f0a903feb09b1b0"
export const NETWORK = 'devnet'
User must connect a wallet to add a card
Owner can edit his cards
- Automatic connection to Wallet does not work on NextJs due to use of localStorage
- Web socket limitation: implementation should be server-side