Skip to content

reztdev/proof-mood

Repository files navigation

🎭 Proof of Mood DApp

Proof of Mood is a decentralized application (DApp) on the Ethereum blockchain that allows users to perform a daily mood check-in. The app stores moods on-chain, provides insightful user statistics, and visualizes mood trends over time through interactive charts and dashboards.


πŸš€ Features

  • βœ… Daily mood check-in recorded on the blockchain
  • πŸ“Š Mood history visualization with charts
  • πŸ“ˆ User statistics (total check-ins, most frequent mood, etc.)
  • ⏱️ Countdown timer until next check-in
  • πŸ” Wallet integration (MetaMask or compatible Ethereum wallet)

🧱 Tech Stack

  • React.js
  • ethers.js
  • Solidity Smart Contract (not included in this repo)
  • Tailwind CSS
  • MetaMask or WalletConnect (browser wallet)

πŸ“¦ Installation

  1. Clone the repository:

    git clone https://github.com/yourusername/proof-of-mood.git
    cd proof-of-mood
    
  2. Install depedencies:

    npm install
    
  3. Start the development server:

    npm start
    

πŸ”‘ How to Use

Connect Your Wallet:

    Make sure MetaMask (or another Ethereum wallet) is installed.

    Click "Connect Wallet" on the homepage.

Daily Mood Check-In:

    Select your current mood from the available options.

    Click "Check-In" to submit it to the blockchain.

    Confirm the transaction via your wallet.

View Mood Insights:

    See your mood history displayed in charts.

    Track mood trends over time.

    See how long until your next available check-in.

🧠 Project Structure

## 🧠 Project Structure

```bash
src/
β”‚
β”œβ”€β”€ abis/                       # Contract ABI
β”‚   └── ProofOfMood.json
β”‚
β”œβ”€β”€ components/                 # Reusable UI components
β”‚   β”œβ”€β”€ WalletNotConnected.js
β”‚   β”œβ”€β”€ DashboardHeader.js
β”‚   β”œβ”€β”€ MoodStatsCards.js
β”‚   β”œβ”€β”€ Charts.js
β”‚   └── CheckInSection.js
β”‚
β”œβ”€β”€ hooks/
β”‚   └── useCountdown.js         # Custom countdown hook
β”‚
β”œβ”€β”€ utils/
β”‚   β”œβ”€β”€ helpers.js              # Wallet & localStorage helpers
β”‚   β”œβ”€β”€ moodUtils.js            # Fetch mood stats/history
β”‚   └── constants.js            # Contract address & constants
β”‚
β”œβ”€β”€ ProofOfMoodDApp.js          # Main DApp component
└── index.js                    # App entry point

πŸ‘¨β€πŸ’» Contributing

Contributions are welcome! Please open an issue first to discuss your ideas or proposed changes before submitting a pull request.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors