Skip to content

DhanteyUD/GratiFi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

448 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

GratiFi - Landing page

GratiFi

A fusion of gratitude and DeFi β€” appreciation powered by decentralized finance.

GitHub repo size GitHub last commit Vercel Railway

🌏 Live Site Β |Β  πŸŽ₯ Demo Video


🧠 Overview

GratiFi is a decentralized web application that empowers users, creators, and artisans to receive appreciation through crypto tips on the Solana blockchain. By combining modern Web3 technologies with seamless UX and media-sharing capabilities, GratiFi makes gratitude borderless and impactful.

πŸ” Civic Auth & Embedded Wallet

A key part of GratiFi's user experience is its integration with Civic Auth, a decentralized identity protocol that provides secure and privacy-respecting authentication.

🌐 Civic Auth Integration

  • Users log in via Civic’s Web3 modal, allowing for identity verification without traditional sign-up.
  • Upon successful login, GratiFi retrieves a userId and session token via Civic's API.
  • This authenticated identity is used to personalize the user’s session and associate it with their tipping activity.

πŸ’³ Embedded Solana Wallet

  • After login, Civic automatically provisions a non-custodial embedded wallet for each user.
  • The wallet is tied to the Civic identity and allows users to send and receive SOL tips instantly.
  • No browser extensions or manual private key handling required.
  • All transactions (tipping, receiving) are signed transparently via this embedded wallet, ensuring security and ease of use.

🧩 Benefits of This Setup

  • Onboarding Simplicity: Users can start tipping or receiving appreciation in seconds.
  • Security & Privacy: Identity is verified without compromising user data.
  • Wallet Abstraction: Users don’t need to understand wallets or key management.
  • Improved UX: A seamless Web3 experience that feels like Web2.

GratiFi leverages the power of Civic to bridge identity, authentication, and wallet provisioning β€” making gratitude seamless and secure in the decentralized world.


πŸ“Έ Screenshots

Landing Page

GratiFi - Landing page

Home Feed

GratiFi - Home

Wallet

GratiFi - Wallet

βš™οΈ Tech Stack

Frontend

  • React 18 + TypeScript
  • Vite β€” Blazing-fast build tool
  • TailwindCSS β€” Utility-first styling
  • Framer Motion & Lottie β€” Animations
  • Civic Auth β€” Web3 authentication
  • Solana / Web3.js β€” Blockchain interaction
  • TanStack Query β€” Data fetching + caching
  • Resend - Emailing service
  • Cloudinary β€” Media storage (images/videos)

Backend

  • Node.js + Express
  • TypeScript
  • PostgreSQL with Prisma ORM

πŸ—‚ Project Structure

GratiFi/
β”œβ”€β”€ backend/                  # Node.js + Express backend
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ controllers/      # Route handlers
β”‚   β”‚   β”œβ”€β”€ middlewares/      # Express middlewares (auth, error handling, etc.)
β”‚   β”‚   β”œβ”€β”€ models/           # Prisma schema/models
β”‚   β”‚   β”œβ”€β”€ routes/           # API route definitions
β”‚   β”‚   β”œβ”€β”€ services/         # Business logic
β”‚   β”‚   β”œβ”€β”€ utils/            # Helpers/utilities
β”‚   β”‚   └── app.ts            # Express app initialization
β”‚   β”œβ”€β”€ prisma/
β”‚   β”‚   └── schema.prisma     # Prisma DB schema
β”‚   β”œβ”€β”€ .env                  # Backend environment variables
β”‚   β”œβ”€β”€ package.json
β”‚   └── tsconfig.json
β”‚
β”œβ”€β”€ frontend/                 # React + Vite frontend
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ assets/           # Images, videos, Lottie files
β”‚   β”‚   β”œβ”€β”€ components/       # Reusable UI components
β”‚   β”‚   β”œβ”€β”€ features/         # Feature-based folders (e.g., auth, posts, wallet)
β”‚   β”‚   β”œβ”€β”€ hooks/            # Custom hooks
β”‚   β”‚   β”œβ”€β”€ pages/            # Route-level pages
β”‚   β”‚   β”œβ”€β”€ services/         # API logic (e.g., React Query hooks)
β”‚   β”‚   β”œβ”€β”€ types/            # TypeScript types/interfaces
β”‚   β”‚   β”œβ”€β”€ utils/            # Utility functions
β”‚   β”‚   β”œβ”€β”€ App.tsx
β”‚   β”‚   └── main.tsx
β”‚   β”œβ”€β”€ public/               # Public assets
β”‚   β”œβ”€β”€ .env                  # Frontend environment variables
β”‚   β”œβ”€β”€ index.html
β”‚   β”œβ”€β”€ package.json
β”‚   └── vite.config.ts
β”‚
β”œβ”€β”€ README.md
β”œβ”€β”€ .gitignore
└── LICENSE

πŸš€ Setup & Installation

1. Clone the repository

git clone https://github.com/DhanteyUD/GratiFi.git
cd GratiFi

2. Install dependencies

Frontend:

cd frontend
npm install

Backend:

cd ../backend
npm install

3. Environment Variables

Create .env files in both frontend/ and backend/.

Backend .env:

PORT=4000
NODE_ENV=development
RESEND_API_KEY=
JWT_SECRET=
CLOUDINARY_CLOUD_NAME=
CLOUDINARY_API_KEY=
CLOUDINARY_API_SECRET=
CLOUDINARY_URL=
DATABASE_URL=

Frontend .env:

VITE_API_URL=http://localhost:4000/api/v1
VITE_RAPIDAPI=
VITE_CLIENT_ID=
VITE_RAPID_SECTION_ID=

4. Start development servers

Backend:

cd backend
npm run dev

Frontend:

cd ../frontend
npm run dev

πŸ–₯ App is now running locally at:

  • Frontend: http://localhost:5173

  • Backend: http://localhost:4000


βš’οΈ Build for Production

Frontend:

cd frontend
npm run build

Backend:

cd backend
npm run build

πŸ“¦ Deployment

  • Frontend: Vercel

  • Backend: Railway


πŸ“– Usage Guide

  • Connect wallet via Civic Auth

  • Browse GratiStars on the feed

  • View GratiStars profiles

  • Send micro-tips (SOL) to appreciate the content

  • View wallet balance and transaction history

  • Share your creative work


Name Role GitHub Handle
Clinton Otse Full Stack Developer @DhanteyUD

3rd prize winner of the Civic Hackathon! πŸŽ‰


NOTE: This App is still under active development

About

A fusion of gratitude and DeFi (appreciation via decentralized finance).

Resources

Stars

4 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors