A decentralized social networking platform powered by the Mina Blockchain, offering users a seamless, secure, and censorship-resistant environment for authentic social interactions.
Distcom is a revolutionary decentralized social networking platform that leverages the power and innovation of the Mina Blockchain to offer users a seamless, secure, and censorship-resistant environment for social interactions. Unlike traditional social networks governed by centralized entities, Distcom empowers its community by distributing control and ownership directly to its users.
- User Profiles - Customizable user profiles with authentication
- Messaging System - Real-time communication between users
- Groups & Communities - Create and join topic-based communities
- Blog Publishing - Share long-form content with the community
- Social Feed - Discover and interact with community content
- Search & Discovery - Find users, groups, and content easily
- Zero-Knowledge Proofs - Privacy-preserving interactions
- Decentralized Voting - Community governance through smart contracts
- Donation System - Support creators and communities
- Event Management - Organize and participate in community events
- Censorship Resistance - Content stored on decentralized infrastructure
- Modern UI/UX - Built with Tailwind CSS and Radix UI
- Responsive Design - Optimized for desktop and mobile
- Real-time Updates - Live notifications and messaging
- Dark/Light Mode - Customizable theme preferences
- Framework: Next.js 15.1.3 with App Router
- Language: TypeScript 5.7.2
- UI Library: React 19.0.0
- Styling: Tailwind CSS with custom components
- Components: Radix UI primitives
- Icons: FontAwesome & Lucide React
- State Management: Zustand
- Animations: Motion (Framer Motion)
- Blockchain: Mina Protocol
- ZK Framework: o1js (SnarkyJS)
- Database: InstantDB
- Authentication: Custom wallet integration
- Smart Contracts: Custom voting, donation, and event contracts
- Package Manager: npm
- Build Tool: Next.js with Turbo
- Linting: Built-in Next.js linting
- Type Checking: TypeScript strict mode
The Mina Blockchain stands out as the world's lightest blockchain, boasting a constant-sized blockchain of just 22 kilobytes. This lightweight architecture ensures that Distcom remains:
- Scalable - Efficient performance regardless of network size
- Accessible - No need for hefty computational resources
- Private - Zero-knowledge proofs protect user data
- Secure - Cryptographic verification without data exposure
At its core, Distcom envisions a democratized digital social space where individuals can connect without intermediaries, ensuring that their voices remain authentic and unfiltered. By harnessing the transformative potential of the Mina Blockchain, Distcom aims to:
Create an environment where users can express themselves freely without fear of undue censorship or surveillance.
Encourage collaborative governance, allowing the community to make decisions that shape the platform's future.
Implement features and protocols that prioritize user well-being, reducing the negative impacts often associated with conventional social media platforms.
- Node.js 18.17 or later
- npm or yarn package manager
- Git for version control
-
Clone the repository
git clone https://github.com/private-archieve/distcom.git cd distcom -
Install dependencies
npm install
-
Set up environment variables
cp .env.example .env.local # Edit .env.local with your configuration -
Run the development server
npm run dev
-
Open your browser Navigate to http://localhost:3000 to see the application.
# Build the application
npm run build
# Start the production server
npm run startdistcom/
βββ src/
β βββ app/ # Next.js App Router pages
β β βββ about/ # About page
β β βββ blogs/ # Blog functionality
β β βββ groups/ # Groups and communities
β β βββ messages/ # Messaging system
β β βββ profile/ # User profiles
β β βββ ...
β βββ Base/ # Core application logic
β β βββ DistcomZKBase/ # Zero-knowledge proof implementations
β β βββ MinaProtocol/ # Mina blockchain integration
β β β βββ Contracts/ # Smart contracts
β β β βββ Tests/ # Contract tests
β β βββ ...
β βββ components/ # Reusable UI components
β βββ hooks/ # Custom React hooks
β βββ lib/ # Utility libraries
β βββ Pages/ # Page components
β βββ store/ # State management
βββ public/ # Static assets
βββ Archieve/ # Legacy code and examples
βββ package.json # Project dependencies
Distcom includes several smart contracts built with o1js:
- DonationContract - Handle community donations and funding
- VoteContract - Implement decentralized governance
- EventContract - Manage community events
- MessageContract - Secure messaging functionality
We welcome contributions from the community! Please follow these steps:
- Fork the repository
- Create a feature branch
git checkout -b feature/amazing-feature
- Make your changes
- Commit your changes
git commit -m 'Add some amazing feature' - Push to the branch
git push origin feature/amazing-feature
- Open a Pull Request
- Follow TypeScript best practices
- Use existing UI components when possible
- Write tests for new smart contracts
- Ensure responsive design for all components
- Follow the existing code style and conventions
This project is part of the private-archieve organization. Please refer to the repository settings for license information.
- Mina Protocol: https://minaprotocol.com/
- o1js Documentation: https://docs.minaprotocol.com/zkapps
- Next.js Documentation: https://nextjs.org/docs
- React Documentation: https://react.dev/
For questions, issues, or contributions, please:
- Open an issue in this repository
- Check existing documentation
- Review the project's discussion board
Built with β€οΈ for the decentralized future
Empowering communities through blockchain technology