A decentralized data marketplace built on Walrus storage, where data providers can upload and monetize datasets while data buyers can discover, purchase, and download valuable data.
-
Install all dependencies:
npm run install-all
-
Start both frontend and backend:
# Option 1: Cross-platform (recommended) npm run dev # Option 2: Clean install and start npm run dev:clean # Option 3: Windows batch file npm run dev:windows # Option 4: PowerShell (Windows) npm run dev:ps1
-
Additional Development Commands:
# Install all dependencies (frontend + backend) npm run install-all # Stop all running Node processes npm run stop # Run only backend npm run server # Run only frontend npm run client
-
Access the application:
- Frontend: http://localhost:3000
- Backend API: http://localhost:5000
For detailed development instructions, see DEVELOPMENT.md.
- User Registration/Login - Secure authentication with wallet or email
- Dataset Upload - Upload files to Walrus decentralized storage
- Metadata Management - Add titles, descriptions, tags, pricing
- Sales Dashboard - Track earnings and sales performance
- Commission System - Platform takes 5% commission on sales
- Browse & Search - Discover datasets with advanced filtering
- Dataset Preview - View metadata and sample data
- Secure Purchase - Crypto payments with WAL/SUI tokens
- Download Access - Access purchased datasets from Walrus
- Purchase History - Track all transactions
- Decentralized Storage - All files stored on Walrus network
- Blockchain Payments - Secure crypto transactions
- Reputation System - User ratings and reviews
- Commission Management - Automated fee collection
- Responsive Design - Works on all devices
- React 19 - Modern UI framework
- Bootstrap 5 - CSS framework
- Axios - HTTP client
- @mysten/sui - Sui blockchain integration
- Node.js - Runtime environment
- Express.js - Web framework
- MongoDB - Database for metadata
- Mongoose - ODM for MongoDB
- JWT - Authentication tokens
- Multer - File upload handling
- Walrus - Decentralized file storage
- Sui - Blockchain for payments
- WAL/SUI Tokens - Payment currencies
- Node.js (v16 or higher)
- MongoDB (local or cloud)
- Git
-
Navigate to server directory:
cd server -
Install dependencies:
npm install
-
Create environment file:
cp env.example .env
-
Configure environment variables:
PORT=5000 MONGODB_URI=mongodb://localhost:27017/walrus-marketplace JWT_SECRET=your-super-secret-jwt-key WALRUS_RPC_URL=https://rpc.walrus.network WALRUS_API_KEY=your-walrus-api-key SUI_RPC_URL=https://fullnode.mainnet.sui.io:443
-
Start MongoDB (if running locally):
mongod
-
Start the server:
npm run dev
-
Navigate to client directory:
cd .. # (if you're in server directory)
-
Install dependencies:
npm install
-
Start the development server:
npm start
-
Open your browser: Navigate to
http://localhost:3000
walrus-client/
โโโ public/ # Static files
โโโ src/
โ โโโ components/
โ โ โโโ dashboard/ # Dashboard components
โ โ โโโ marketplace/ # Marketplace components
โ โ โโโ upload/ # Upload components
โ โ โโโ common/ # Shared components
โ โ โโโ LoginRegister.js
โ โโโ App.js # Main app component
โ โโโ App.css # Global styles
โ โโโ index.js # Entry point
โโโ server/ # Backend API
โ โโโ models/ # Database models
โ โโโ routes/ # API routes
โ โโโ middleware/ # Custom middleware
โ โโโ index.js # Server entry point
โโโ README.md
POST /api/auth/register- Register new userPOST /api/auth/login- User loginGET /api/auth/profile- Get user profilePUT /api/auth/profile- Update profilePOST /api/auth/connect-wallet- Connect wallet
GET /api/datasets- Browse datasetsGET /api/datasets/:id- Get dataset detailsPOST /api/datasets- Create datasetPUT /api/datasets/:id- Update datasetDELETE /api/datasets/:id- Delete datasetPOST /api/datasets/:id/upload- Upload filesPOST /api/datasets/:id/purchase- Purchase datasetGET /api/datasets/:id/download- Download dataset
GET /api/transactions/my-transactions- User transactionsGET /api/transactions/:id- Transaction detailsGET /api/transactions/stats/overview- Transaction statisticsPOST /api/transactions/:id/refund- Request refundPOST /api/transactions/:id/dispute- Create dispute
- Dark Theme - Modern blockchain aesthetic
- Neon Accents - Cyan, purple, and green highlights
- Glassmorphism - Semi-transparent elements
- Smooth Animations - Professional transitions
- Responsive Design - Mobile-first approach
- Login/Register - Secure authentication
- Dashboard - User overview and stats
- Marketplace - Dataset browsing and search
- Upload - Multi-step dataset creation
- Navigation - Intuitive app navigation
- JWT Authentication - Secure token-based auth
- Password Hashing - bcrypt encryption
- File Validation - Type and size restrictions
- CORS Protection - Cross-origin security
- Input Sanitization - XSS prevention
- Set up MongoDB Atlas or local MongoDB
- Configure environment variables
- Deploy to Heroku, Vercel, or AWS
- Set up Walrus and Sui network access
- Build the React app:
npm run build - Deploy to Netlify, Vercel, or AWS S3
- Configure API endpoints
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
This project is licensed under the MIT License.
For support and questions:
- Create an issue on GitHub
- Check the documentation
- Contact the development team
- Smart contract integration
- Advanced search filters
- Data visualization tools
- API rate limiting
- Email notifications
- Mobile app
- Multi-language support
- Advanced analytics
Built with โค๏ธ for the decentralized data economy"# Syntax-Error-25"