This project demonstrates the creation of a full-stack Web3 SAAS application. The application leverages Solana blockchain and Web3.js to build a data labeling platform where users can post data for labeling, typically by individuals in developing nations, and facilitate micro-payments using cryptocurrency.
- Data Labeling Platform: Allows users to upload data that needs to be labeled and pays workers for labeling this data.
- Micro-payments with Solana: Utilizes the Solana blockchain for handling micro-payments efficiently and securely.
- AWS S3 Storage: Uses AWS S3 for storing user-uploaded images and generates pre-signed URLs for secure uploads.
- Full-Stack Implementation: Built with a Node.js and Express back-end and a React/Next.js front-end.
- Scalable and Secure: Designed to handle a large number of users and tasks while maintaining security and efficiency.
- Front-end: React, Next.js
- Back-end: Node.js, Express
- Blockchain: Solana, Web3.js
- Storage: AWS S3
A platform that connects users who need data labeled (e.g., images for machine learning models) with workers who can perform these tasks.
The application uses the Solana blockchain to handle small payments to workers, ensuring quick and low-cost transactions.
All user-uploaded data is securely stored in AWS S3. The application generates pre-signed URLs for uploading images to ensure that the back-end does not directly handle large files.
- Front-end: Built with React and Next.js, providing a responsive and dynamic user interface.
- Back-end: Implemented using Node.js and Express to handle API requests, user authentication, and interaction with the Solana blockchain.
-
Clone the Repository
git clone https://github.com/zacharias1219/decentralized-fiver.git cd decentralized-fiver
-
Install Dependencies
# Backend cd backend npm install # Frontend (User Front-end and Worker Front-end) cd ../user-frontend npm install cd ../worker-frontend npm install
-
Environment Variables Create a
.env
file in the backend directory and add your AWS and Solana credentials:AWS_ACCESS_KEY_ID=your_aws_access_key AWS_SECRET_ACCESS_KEY=your_aws_secret_key SOLANA_PRIVATE_KEY=your_solana_private_key
-
Run the Application
# Start Backend cd backend npm start # Start User Frontend cd ../user-frontend npm run dev # Start Worker Frontend cd ../worker-frontend npm run dev
- User: Uploads data to be labeled and sets up tasks.
- Worker: Labels the data and receives micro-payments via Solana for each completed task.
Contributions are welcome! Please fork the repository and submit a pull request for any improvements or new features.
This project is licensed under the MIT License. See the LICENSE file for details.