A decentralized social media platform built on Ethereum blockchain technology, allowing users to interact using their wallet addresses.
- 🌐 Login using Ethereum wallet (RainbowKit + ethers.js)
- 📝 Create and update user profiles
- 📣 Post short messages (280 characters max)
- 👀 View consolidated feed of all users' posts
- 👍 Like posts
- 💬 Comment on posts
- React.js
- Next.js
- Tailwind CSS
- RainbowKit
- ethers.js
- NestJS
- TypeScript
- PostgreSQL
- Node.js (v18 or higher)
- PostgreSQL
- Git
- Clone the repository:
git clone [repository-url]
cd frontend- Install dependencies:
npm install- Copy
.env.exampleto.envand update the values:
cp .env.example .env- Run the development server:
npm run dev- Navigate to backend directory:
cd backend- Install dependencies:
npm install- Copy
.env.exampleto.envand update the values:
cp .env.example .env- Run the development server:
npm run start:dev- Connect your Ethereum wallet using RainbowKit
- Create or update your profile
- Start posting, liking, and commenting on posts
The application uses PostgreSQL with the following tables:
wallet_address(Primary Key)usernamebioprofile_pic_url
id(Primary Key)wallet_address(Foreign Key)contentcreated_at
id(Primary Key)post_id(Foreign Key)wallet_address(Foreign Key)created_at
id(Primary Key)post_id(Foreign Key)wallet_address(Foreign Key)contentcreated_at
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Create a new Pull Request
This project is licensed under the MIT License - see the LICENSE file for details