A decentralized micro-blogging platform built on the Hive blockchain, enabling users to create posts, chat with others, and interact in a decentralized social environment.
Features
Posts
- Create interactive posts with text and images
- Canvas-based post creation with drag-and-drop functionality
- Like and comment on posts
- Real-time updates using Hive blockchain
Chat System
- Direct messaging between users
- Encrypted communication using Hive Keychain
- Real-time message updates
- Search and filter conversations
User Profiles
- Secure authentication with Hive Keychain
- View user posts and activity
- Customizable profile information
Technology Stack
- Frontend: React + Vite
- UI Framework: Material-UI (MUI)
- Blockchain: Hive
- Authentication: Hive Keychain
Prerequisites
- Node.js (v14 or higher)
- npm or yarn
- Hive Keychain browser extension
- A Hive account
Installation
- Clone the repository:
git clone https://github.com/iamthehimansh/hive-microblog.git
cd hive-microblog
- Install dependencies:
npm run install-all
- Start the development servers:
npm run dev
The application will be available at http://localhost:5173
Usage
Authentication
- Install the Hive Keychain browser extension
- Click "Login" in the application
- Enter your Hive username
- Approve the login request in Hive Keychain
Creating Posts
- Click "Create Post" in the navigation bar
- Use the canvas editor to add text and images
- Arrange elements using drag-and-drop
- Click "Post" to publish to the Hive blockchain
Messaging
- Navigate to the Chat section
- Select a user or start a new conversation
- Messages are automatically encrypted using Hive Keychain
Project Structure
├── frontend/
│ ├── src/
│ │ ├── components/
│ │ ├── pages/
│ │ └── App.jsx
│ └── package.json
├── backend/
│ ├── src/
│ │ └── index.js
│ └── package.json
└── package.json
Blockchain Integration
The application uses the following Hive custom operations:
hive_microblog_post
: Create and store postshive_microblog_like
: Handle post likeshive_microblog_comment
: Manage commentshive_microblog_message
: Handle encrypted messages
Security
- All messages are end-to-end encrypted using Hive Keychain
- Authentication is handled securely through Hive blockchain
- No sensitive data is stored on centralized servers
Contributing
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- Hive Blockchain
- Hive Keychain Team
- Material-UI Team
- React Community