Skip to content

Latest commit

ย 

History

History
133 lines (97 loc) ยท 3.98 KB

File metadata and controls

133 lines (97 loc) ยท 3.98 KB

Quest Service - Frontend

The frontend application for Quest Service, a thought-provoking logic puzzle game built on the Stellar blockchain. This React-based interface provides an engaging and intuitive user experience for players to solve puzzles and earn on-chain rewards.

๐ŸŽจ Design

View the complete design system and UI mockups on Figma: Quest Service Design - Figma

๐Ÿš€ Features

  • Interactive Puzzle Interface: Smooth, responsive UI for solving logic puzzles
  • Stellar Wallet Integration: Connect with Freighter and other Stellar wallets
  • Real-time Progress Tracking: Visual feedback on puzzle completion and achievements
  • NFT Gallery: Display earned achievement NFTs from completed puzzles
  • Token Management: View and manage XLM and custom tokens for unlocking content
  • Responsive Design: Optimized for desktop and mobile gameplay

๐Ÿ› ๏ธ Tech Stack

  • Framework: React 18+
  • Styling: TailwindCSS
  • State Management: React Context API / Redux (if applicable)
  • Blockchain Integration: Stellar SDK, Soroban RPC
  • Wallet Connection: Freighter Wallet API
  • Build Tool: Vite / Create React App
  • Type Safety: TypeScript (if applicable)

๐Ÿ“ฆ Installation

# Clone the repository
git clone https://github.com/yourusername/quest-service-frontend.git

# Navigate to the project directory
cd quest-service-frontend

# Install dependencies
npm install

# Set up environment variables
cp .env.example .env
# Edit .env with your Stellar network configuration

# Start the development server
npm run dev

๐Ÿ”ง Configuration

Create a .env file in the root directory with the following variables:

VITE_STELLAR_NETWORK=testnet
VITE_SOROBAN_RPC_URL=https://soroban-testnet.stellar.org
VITE_BACKEND_API_URL=http://localhost:3000
VITE_CONTRACT_ADDRESS=your_contract_address

๐ŸŽฎ Usage

  1. Connect Wallet: Click "Connect Wallet" to link your Freighter wallet
  2. Browse Puzzles: Explore available puzzles organized by difficulty
  3. Solve Challenges: Complete logic puzzles to earn points and rewards
  4. Claim NFTs: Mint achievement NFTs for completing puzzle milestones
  5. Unlock Content: Use tokens to access hints and special levels

๐Ÿ“ Project Structure

quest-service-frontend/
โ”œโ”€โ”€ public/
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ assets/          # Images, icons, and static files
โ”‚   โ”œโ”€โ”€ components/      # Reusable UI components
โ”‚   โ”œโ”€โ”€ pages/           # Page components
โ”‚   โ”œโ”€โ”€ services/        # API and blockchain services
โ”‚   โ”œโ”€โ”€ utils/           # Helper functions
โ”‚   โ”œโ”€โ”€ hooks/           # Custom React hooks
โ”‚   โ”œโ”€โ”€ contexts/        # React contexts
โ”‚   โ”œโ”€โ”€ App.jsx          # Main application component
โ”‚   โ””โ”€โ”€ main.jsx         # Application entry point
โ”œโ”€โ”€ .env.example
โ”œโ”€โ”€ package.json
โ””โ”€โ”€ README.md

๐Ÿงช Testing

# Run unit tests
npm run test

# Run tests with coverage
npm run test:coverage

# Run e2e tests
npm run test:e2e

๐Ÿšข Deployment

# Build for production
npm run build

# Preview production build
npm run preview

๐Ÿค Contributing

We welcome contributions! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Please ensure your code follows the project's coding standards and includes appropriate tests.

๐Ÿ“„ License

This project is licensed under the MIT License.

๐Ÿ”— Related Repositories

๐Ÿ’ฌ Support

For questions or support, please open an issue or join our community discussions.