The Skill Exchange Platform is a decentralized application built on the Sui blockchain that facilitates the exchange of skills between users. It allows users to register, offer their skills, book services, and provide reviews. This README provides a comprehensive guide for new users to understand the project, set it up on their local machine, and run the application.
- User Registration: Users can create profiles with reputation tracking.
- Skill Offering: Users can list their skills along with descriptions and categories.
- Time-Based Booking System: Users can book services based on availability.
- Review and Rating System: Users can submit reviews and ratings for services received.
- SkillExchange: The main platform object that holds users, skills, bookings, and reviews.
- User: Represents a user with their information, expertise, rating, and total reviews.
- Skill: Represents a skill offered by a user, including its availability.
- Booking: Manages the details of a service booking, including status and time.
- Review: Handles feedback and ratings for completed bookings.
- initialize_platform: Sets up the Skill Exchange platform.
- register_user: Creates new user profiles.
- offer_skill: Allows users to list new skills.
- create_booking: Manages service bookings.
- submit_review: Handles feedback and updates user reputation.
- update_booking_status: Updates the status of a booking.
To run the Skill Exchange Platform on your local machine, follow these steps:
-
Clone the Repository:
git clone https://github.com/yourusername/skill_exchange.git cd skill_exchange -
Install Dependencies: Ensure you have the Sui SDK installed. Follow the Sui documentation for installation instructions.
-
Set Up the Environment: Make sure you have a Sui node running locally or connect to a testnet.
-
Compile the Code: Use the Sui CLI to compile the code:
sui move build
The Skill Exchange Platform includes a suite of tests to ensure functionality. To run the tests, use the following command:
sui move test- Platform Initialization: Verifies that the platform initializes correctly.
- User Registration: Tests the user registration process.
- Skill Offering: Ensures skills can be offered by users.
- Booking Creation: Tests the booking creation process.
- Review Submission: Validates the review submission process.
Contributions are welcome! If you would like to contribute to the Skill Exchange Platform, please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature/YourFeature). - Make your changes and commit them (
git commit -m 'Add some feature'). - Push to the branch (
git push origin feature/YourFeature). - Open a pull request.