A decentralized app that lets users earn and stake tokens to support impactful projects through completing quests, staking, and donations. Built with Next.js, RainbowKit, and smart contracts.
- Clone the repository
git clone https://github.com/HandProtocol/SweetSpot.git
cd SweetSpot
- Install dependencies using pnpm
pnpm install
- Copy the sample environment file and configure environment variables
cp sample.env .env
- Configure the following environment variables in
.env
:
NEXT_PUBLIC_RAINBOW_KIT_PROJECT_ID
: Get from WalletConnect CloudNEXT_PUBLIC_STS_TOKEN_URL
: Get from 4EVERLAND STS APINEXT_PUBLIC_PASSPORT_SCORER_API_KEY
: Get from Gitcoin Passport
- Start the development server
pnpm dev
The app will be available at http://localhost:3000
Rainbow Kit
,Wagmi
ðers
: For connecting wallet and playing with contractsTailwindcss
: CSS Frameworkreact-hot-toast
: for in-app alerts and info popupsEslint
&Prettier
setup- PWA functionality using
@ducanh2912/next-pwa
Zustand
Library for state managementMui
setup that works with tailwind CSS- Dark mode and light mode, synced tailwindcss & mui dark mode and light mode
- Configure
tailwind.config.ts
, to add extend colors variables. - Use
globals.css
to define variable colors for light mode and dark mode, but add dark mode variable colors in[data-theme='dark']
and light mode variable colors in:root
- configure
darkTheme
andlightTHeme
inMuiThemeWrapper.tsx
to theme mui components - Use
const {theme, toggleTheme} = useTheme()
fromTailwindThemeProvider.tsx
to get the current theme and toggle the theme.
- Configure
public/manifest.json
as per your app , to change app name and app icon for your PWA app.