Skip to content

Ewrnlleh/Bookie

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

25 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ“š Bookie - Decentralized Data Marketplace

Bookie Logo

A decentralized marketplace built on Stellar blockchain where users can monetize their personal data while maintaining complete privacy and ownership control.

๐ŸŒŸ Overview

Bookie empowers individuals to take control of their digital footprint by providing a secure platform to upload, encrypt, and monetize personal data. Built with privacy-first principles, all data is encrypted client-side before upload, ensuring complete user control.

โœจ Key Features

  • ๐Ÿ” Privacy First: Client-side encryption ensures your data remains private
  • ๐Ÿ’ฐ Data Monetization: Earn from your personal data through secure transactions
  • ๐Ÿ›ก๏ธ Blockchain Security: Built on Stellar network for transparent, secure transactions
  • ๐Ÿ”‘ Freighter Wallet: Simple, secure wallet integration (passkey auth removed)
  • ๐Ÿ“ฑ Modern UI: Responsive design with beautiful, intuitive interface
  • ๐ŸŒ Decentralized: No central authority controls your data
  • โšก Simplified Architecture: Streamlined codebase for easy maintenance and extension

๐Ÿ—๏ธ Architecture

Frontend (Next.js 15)

  • Framework: Next.js 15 with TypeScript and App Router
  • Styling: Tailwind CSS with Radix UI components
  • Wallet Integration: Freighter-only (simplified from complex auth system)
  • State Management: React Context API with client-side only operations
  • Blockchain Integration: Dynamic Stellar SDK imports for SSR compatibility

Smart Contract (Rust/Soroban)

  • Platform: Stellar Soroban smart contracts
  • Language: Rust
  • Features: Data tokenization, marketplace transactions, secure transfers

๐Ÿš€ Quick Start

Prerequisites

  • Node.js 18+
  • Rust and Cargo
  • Stellar CLI (soroban-cli)
  • Freighter browser extension

Installation

  1. Clone the repository

    git clone https://github.com/your-username/bookie.git
    cd bookie
  2. Install frontend dependencies

    cd frontend
    npm install
  3. Set up environment variables

    cp .env.example .env.local
    # Edit .env.local with your configuration
  4. Start the development server

    npm run dev
  5. Deploy smart contract (optional)

    cd ../contracts/bookie
    ./deploy.sh

The application will be available at http://localhost:3000

๐Ÿ”ง Environment Configuration

Create a .env.local file in the frontend directory:

NEXT_PUBLIC_BOOKIE_CONTRACT_ID=your_contract_id_here
NEXT_PUBLIC_STELLAR_NETWORK=testnet
NEXT_PUBLIC_RPC_URL=https://soroban-testnet.stellar.org
PINATA_JWT=your_pinata_jwt_token
PINATA_GATEWAY_URL=your_pinata_gateway_url

๐Ÿ“ Project Structure

bookie001/
โ”œโ”€โ”€ contracts/              # Stellar Soroban smart contracts
โ”‚   โ””โ”€โ”€ bookie/
โ”‚       โ”œโ”€โ”€ src/            # Contract source code
โ”‚       โ”œโ”€โ”€ Cargo.toml      # Rust dependencies
โ”‚       โ””โ”€โ”€ deploy.sh       # Deployment scripts
โ”œโ”€โ”€ frontend/               # Next.js application
โ”‚   โ”œโ”€โ”€ app/                # App router pages
โ”‚   โ”œโ”€โ”€ components/         # Reusable UI components
โ”‚   โ”œโ”€โ”€ lib/                # Utilities and contexts
โ”‚   โ”œโ”€โ”€ services/           # External service integrations
โ”‚   โ””โ”€โ”€ public/             # Static assets
โ””โ”€โ”€ docs/                   # Documentation

๐Ÿ”‘ Authentication

Freighter Wallet

  • Browser extension for Stellar network
  • Secure transaction signing
  • Network management
  • Simple one-click connection

๐Ÿ’ป Available Scripts

Frontend

npm run dev        # Start development server
npm run build      # Build for production
npm run start      # Start production server
npm run lint       # Run ESLint

Smart Contract

./deploy.sh        # Deploy to Stellar network
./test.sh          # Run contract tests
cargo test         # Run Rust tests

๐Ÿงช Testing

Built-in Testing

The application includes comprehensive testing capabilities through:

  • Wallet connection validation
  • Transaction flow verification
  • Error handling and recovery
  • Real-time status monitoring

Development Testing

  • Component-level testing with TypeScript
  • Smart contract testing with Rust
  • Integration testing for blockchain interactions

๐Ÿ› ๏ธ Tech Stack

Frontend

  • Next.js 15 - React framework with App Router
  • TypeScript - Type-safe JavaScript
  • Tailwind CSS - Utility-first CSS framework
  • Radix UI - Accessible component primitives
  • Lucide React - Beautiful icons
  • Stellar SDK - Blockchain integration
  • Freighter API - Wallet connectivity

Backend/Blockchain

  • Stellar Soroban - Smart contract platform
  • Rust - Systems programming language
  • IPFS/Pinata - Decentralized file storage

Development Tools

  • ESLint - Code linting
  • Prettier - Code formatting
  • TypeScript - Static type checking

๐Ÿ” Security Features

  • Client-side Encryption: Data encrypted before upload
  • Blockchain Verification: All transactions on Stellar network
  • Secure Wallet Integration: Freighter wallet for transaction signing
  • Zero-knowledge Architecture: Platform cannot access user data

๐Ÿ“Š Key Pages

  • / - Landing page with feature overview
  • /marketplace - Browse and purchase data assets
  • /sell - Upload and tokenize your data
  • /vault - Manage your data assets

๐Ÿค Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐ŸŒ Network Information

๐Ÿ“ž Support

๐Ÿšจ Status

This project is actively maintained and under development. Current status:

  • โœ… Core marketplace functionality
  • โœ… Wallet integration (Freighter)
  • โœ… Smart contract deployment
  • โœ… Data encryption/decryption
  • โœ… Transaction processing
  • ๐Ÿ”„ Enhanced UI/UX improvements

๐Ÿ”ฎ Roadmap

  • Mobile application
  • Advanced analytics dashboard
  • Multi-chain support
  • Enterprise features
  • API marketplace
  • Advanced privacy features

Built with โค๏ธ for a more private, user-controlled internet.

About

Bookie empowers you to monetize your personal data on a secure, privacy-first decentralized marketplace built on the Stellar blockchain. Originally developed as a Stellar hackathon app, it features client-side encryption, secure transactions, and a modern UI.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors