A modern full-stack application built with React, TypeScript, Express, and various web3 technologies.
- Frontend: React 19, Vite, TypeScript, Tailwind CSS
- Backend: Express.js, Prisma ORM
- Authentication: Privy.io
- Web3 Integration: Wagmi, Viem, Biconomy
- State Management: Zustand, React Query
- UI Components: Radix UI, Lucide React
- Real-time Communication: Huddle01 SDK
- Build Tool: Vite
- Package Manager: Bun (with npm compatibility)
- Node.js (v24 or higher)
- Bun (recommended) or npm
- PostgreSQL database
- Clone the repository:
git clone https://github.com/Metastuc/Trophy.git
cd Trophy- Install dependencies:
bun install
# or if using npm
npm install- Set up environment variables:
cp .env.example .env.local
# Edit .env.local with your actual values- Set up the database:
bun run db-pull
# or
npm run db-pull- Generate Prisma client:
bunx prisma generate
# or
npx prisma generateStart the development server (frontend only):
bun run dev
# or
npm run devStart the backend server with watch mode:
bun run server
# or
npm run serverStart both frontend and backend concurrently:
bun run start
# or
npm run startbuild- Build the application for productiondev- Start Vite development serverserver- Start backend server with watch modestart- Run both frontend and backend concurrentlylint- Run ESLint and Prettierpreview- Preview production buildprod- Run production serverdb-pull- Pull database schema
├── server/ # Express backend application
├── shared/ # Shared utilities and types
├── client/ # React frontend application
├── prisma/ # Database schema and migrations
└── public/ # Static assets
The project uses path aliases configured in package.json:
#*points to./server/*#~/*points to./shared/*
- ESLint for code linting
- Prettier for code formatting
- TypeScript for type safety
- Prettier plugins for import organization and Tailwind CSS
Build for production:
bun run build
# or
npm run buildStart production server:
bun run prod
# or
npm run prodPreview production build:
bun run preview
# or
npm run previewThis is a private project. All rights reserved.
For more information, check the documentation of the individual packages used in this project.