Geev is a decentralized social platform built on the Stellar blockchain that enables users to create giveaways, post help requests, and participate in community-driven mutual aid. It combines social networking features with Web3 wallet integration to facilitate transparent, trustless giving and receiving.
- Framework: Next.js 15 (App Router)
- Language: TypeScript
- UI Library: shadcn/ui + Radix UI
- Styling: Tailwind CSS v4
- State Management: React Context API + SWR for data fetching
- Icons: Lucide React
- Animations: Framer Motion (for scroll animations and transitions)
- Theme System: next-themes with light/dark mode support
- Theme System - Light/dark mode implementation and usage guide
- Components - Component library documentation
The backend is integrated into the Next.js application using API Routes.
- ORM: Prisma (PostgreSQL)
- API Routes: Located in
app/api/ - Utilities:
lib/prisma.ts: Prisma client singleton and connection testing.lib/api-response.ts: Standardized API response helpers (apiSuccess,apiError).
- Middleware: Handles Request Logging and CORS in
middleware.ts.
The /api/auth/logout route is deprecated.
Use:
signOut()from next-auth/react (client-side)POST /api/auth/signout(server-side)
This ensures proper session invalidation.
If you're working on the frontend application, the app directory contains the Next.js codebase. To get started, follow these steps:
- Install dependencies:
pnpm install
- Configure environment variables in
.env:DATABASE_URL="postgresql://user:password@localhost:5432/mydb?schema=public"
- Generate Prisma Client:
pnpm prisma generate
- Run the development server:
Open http://localhost:3000 with your browser to see the result.
pnpm dev
You can start editing and creating pages and components. The backend API routes are located in app/api/ and can be modified to implement the necessary functionality for the application.
Note: For the full local setup guide, including how to configure Stellar web authentication (SEP-10) and required environment variables, refer to the app/README.md.
The contracts directory contains the Soroban smart contracts for the platform. To get started with the smart contracts, follow these steps:
- Install Soroban CLI:
cargo install --locked soroban-cli
- Build the smart contracts:
soroban build
- Deploy the smart contracts to the Stellar testnet or a local Soroban environment:
or
soroban deploy --network testnet
soroban deploy --network local - Interact with the deployed smart contracts using the Soroban CLI or by integrating them into the frontend application. Refer to the contracts/README.md for more detailed information on the smart contract architecture, deployment, and interaction.