Skip to content

Latest commit

 

History

104 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

A comprehensive Web3 application for creating and managing quest-based gaming achievements with soulbound NFT badges.

๐Ÿ—๏ธ Architecture Overview

This monorepo consists of three main components:

๐Ÿš€ Quick Start

1๏ธโƒฃ Install Dependencies

npm run install:all   # Install all dependencies

2๏ธโƒฃ Set Up Environments

cp questlog-frontend/.env.example questlog-frontend/.env
cp questlog-backend/.env.example questlog-backend/.env
cp questlog-contracts/.env.example questlog-contracts/.env

3๏ธโƒฃ Validate Setup

npm run validate:all   # Check envs, dependencies, and build

4๏ธโƒฃ Start Development

npm run dev:frontend   # Frontend dev server
npm run dev:backend    # Backend dev server
npm run deploy:contracts  # Deploy contracts

๐Ÿ› ๏ธ Tech Stack

Layer Technologies
Frontend React 18, TypeScript, Vite, Wagmi, RainbowKit, Tailwind CSS
Backend Supabase, PostgreSQL, Discord API, IPFS
Blockchain Solidity, Foundry, OpenZeppelin, Lisk
Deployment Netlify, Supabase Cloud, Lisk Sepolia

๐Ÿ“ฆ Available Scripts

  • npm run install:all โ€“ Install dependencies across modules
  • npm run build:all โ€“ Build for production
  • npm run test:all โ€“ Run tests
  • npm run lint:all โ€“ Lint codebase
  • npm run clean โ€“ Clear builds & node_modules
  • npm run validate:all โ€“ Full validation (env, deps, build, tests)
  • npm run setup:dev โ€“ Complete development setup
  • npm run dev:frontend / npm run dev:backend โ€“ Start dev servers
  • npm run deploy:contracts โ€“ Deploy smart contracts

๐Ÿข Project Structure

questlog/
โ”œโ”€โ”€ questlog-frontend/    # React app (UI, services, types)
โ”œโ”€โ”€ questlog-backend/     # Backend (Supabase, Discord, IPFS)
โ”œโ”€โ”€ questlog-contracts/   # Smart contracts (Solidity)
โ”œโ”€โ”€ scripts/              # Validation utilities
โ””โ”€โ”€ package.json          # Monorepo config

๐ŸŒ‰ Web2 โ†” Web3 Bridge

  • Discord OAuth for authentication
  • Supabase for synced user data
  • IPFS for decentralized metadata
  • Blockchain for permanent proof of achievement
  • Seamless UX blending Web2 familiarity with Web3 ownership

๐Ÿ”— Integration Flow

graph LR
    A[User Action] --> B[Frontend UI]
    B --> C[Backend Services]  
    C --> D[Database Storage]
    B --> E[Smart Contracts]
    E --> F[Blockchain Storage]
    F --> G[NFT Badge Minted]
Loading
  1. User Interaction: Users interact with the React frontend.
  2. Data Processing: Quest data processed and stored in Supabase.
  3. Blockchain Integration: Badge minting triggered via smart contracts.
  4. Permanent Storage: Achievements stored as soulbound NFTs on Lisk.

๐Ÿšข Production Deployment

  1. Validate Environment
npm run validate:env
  1. Build & Test
npm run build:all
npm run test:all
  1. Deploy (Order Matters)
    1. Contracts โ†’ cd questlog-contracts && npm run deploy
    2. Backend โ†’ Deploy via Railway, Render, or Vercel
    3. Frontend โ†’ cd questlog-frontend && vercel --prod

(See detailed deployment guides in module READMEs.)

๐Ÿ”’ Security & Best Practices

  • Smart Contracts: Soulbound tokens, strict owner minting, 95%+ test coverage
  • Backend: Supabase RLS, env validation, API rate limits, secure OAuth
  • Frontend: Type-safe API calls, wallet security, XSS prevention

๐Ÿค Contributing

  1. Fork & Clone
git clone https://github.com/kashiwagiren/Questlog.git && cd Questlog
  1. Setup Dev Environment โ€“ npm run setup:dev
  2. Create Feature Branch โ€“ git checkout -b feature/your-feature
  3. Develop & Run Dev Servers โ€“ npm run dev:frontend / npm run dev:backend
  4. Validate & Lint โ€“ npm run validate:all && npm run lint:all
  5. Submit Pull Request

Code Standards

โœ… Strict TypeScript mode
โœ… 90%+ test coverage
โœ… ESLint + Prettier formatting
โœ… Updated documentation with every architectural change

๐Ÿ› Troubleshooting

  • Build Issues:
npm run clean && npm run install:all && npm run validate:all
  • Dependency Conflicts:
npm run validate:deps

๐ŸŽฏ Roadmap

โœ… Phase 1 โ€“ Core Platform

  • Soulbound NFT badges
  • Quest creation & management
  • Discord OAuth integration

๐Ÿšง Phase 2 โ€“ Feature Growth

  • Multi-chain deployment
  • Advanced quests & verification
  • Mobile app (React Native)

๐Ÿ”ฎ Phase 3 โ€“ Ecosystem

  • Quest provider SDK
  • Template marketplace

๐Ÿ“„ License

MIT License


๐Ÿ”— Related Projects

Built with โค๏ธ for the Web3 community

About

A modern Web3 platform for creating and completing quests to earn soulbound NFT badges.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages