Rankify is a blockchain-enabled competitive programming platform focused on trusted skill assessment, transparent rankings, and proctored coding challenges. It combines a modern contest interface, an integrated coding IDE, and an on-chain ranking system built on Aptos Move.
- End-to-end contest journey: discover challenges, register, launch IDE, solve problems, and track progress.
- Integrated coding environment with multi-language support and test execution.
- Proctoring controls for exam integrity (fullscreen enforcement, shortcut blocking, violation tracking).
- Smart-contract-based ranking records and user rank management on Aptos.
- Centralized data and launch controls for challenge visibility and release scheduling.
- Active, upcoming, and historical challenge views.
- Challenge registration flow with status transitions (upcoming/live/completed).
- Registered challenge tracking with progress indicators.
- Rich challenge metadata including prize pools, tags, and rules.
- Problem list and challenge-based problem mapping.
- Multi-language coding support (Python, JavaScript, Java, C++).
- Test-case execution with pass/fail feedback.
- Code complexity and performance estimation during evaluation.
- Fullscreen enforcement and focus-loss detection.
- Keyboard shortcut restrictions for common cheating vectors.
- Right-click/context menu suppression in exam sessions.
- Violation logging with user-facing warning prompts.
- Add users and update ranks via transaction entry functions.
- Query user profile and existence through view functions.
- Retrieve total user counts and recent user IDs.
- Search helpers for rank range, contest name, and skill tags.
rankify/
โโโ contract/ # Aptos Move module and Move.toml
โโโ frontend/ # React app and app components
โ โโโ components/ # UI and wallet/ranking components
โ โโโ data/ # Challenge datasets
โ โโโ entry-functions/ # Aptos transaction payload builders
โ โโโ view-functions/ # Aptos read helpers
โ โโโ src/ # Standalone IDE module and compiler service
โ โโโ utils/ # Aptos client and shared helpers
โโโ scripts/move/ # Compile/test/publish/upgrade helpers
โโโ deploy.sh # Contract deployment helper
- Node.js 18+
- npm
- Aptos CLI (required for Move compile/test/publish workflows)
npm installCreate a .env file in the project root and set the values below.
VITE_APP_NETWORK=testnet
VITE_APTOS_API_KEY=your_aptos_api_key
VITE_MODULE_ADDRESS=your_published_module_address
VITE_MODULE_PUBLISHER_ACCOUNT_ADDRESS=your_account_address
VITE_MODULE_PUBLISHER_ACCOUNT_PRIVATE_KEY=your_account_private_key
VITE_RAPIDAPI_KEY=your_rapidapi_keynpm run devnpm run buildnpm run lintnpm run move:init
npm run move:compile
npm run move:test
npm run move:publish
npm run move:upgradeThese scripts automate account/module setup, compile/test cycles, and publish/upgrade operations for the ranking_system Move module.
/- Home and platform overview/contest- Active/registered challenge dashboard and IDE launch flow/leaderboard- Ranking and top performer views/profile- User profile and progress dashboard/ide- Standalone IDE experience
- Frontend deployment target: Vercel (
npm run deploy). - Smart contract deployment helper:
./deploy.sh <aptos-profile-name>.
- This repository currently contains the frontend and on-chain module implementation. The backend/database stack shown in the Tech Stack section reflects the target service architecture used for platform integrations.
- For operational details, refer to:
DEPLOYMENT_GUIDE.mdCENTRALIZED_DATA_GUIDE.mdFEATURE_SUMMARY.md