Skip to content

darshan-pr/Rankify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

8 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Rankify

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.

Key Highlights

  • 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.

Tech Stack

Frontend

React Vite Tailwind CSS Framer Motion React Router

Backend

Node.js Express.js Nodemailer Axios

Database

MySQL

Blockchain

Aptos Move Aptos TS SDK

Core Features

Contest Platform

  • 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.

Integrated IDE

  • 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.

Proctoring Layer

  • 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.

On-Chain Ranking System (Move Contract)

  • 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.

Project Structure

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

Getting Started

Prerequisites

  • Node.js 18+
  • npm
  • Aptos CLI (required for Move compile/test/publish workflows)

1. Install Dependencies

npm install

2. Configure Environment Variables

Create 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_key

3. Run the App

npm run dev

4. Build for Production

npm run build

5. Lint

npm run lint

Move Contract Workflows

npm run move:init
npm run move:compile
npm run move:test
npm run move:publish
npm run move:upgrade

These scripts automate account/module setup, compile/test cycles, and publish/upgrade operations for the ranking_system Move module.

Routes

  • / - 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

Deployment

  • Frontend deployment target: Vercel (npm run deploy).
  • Smart contract deployment helper: ./deploy.sh <aptos-profile-name>.

Notes

  • 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.md
    • CENTRALIZED_DATA_GUIDE.md
    • FEATURE_SUMMARY.md

About

๐‘๐š๐ง๐ค๐ข๐Ÿ๐ฒ is a next-generation professional network and skill verification platform.๐‘๐š๐ง๐ค๐ข๐Ÿ๐ฒ ๐œ๐ซ๐ž๐š๐ญ๐ž๐ฌ ๐ข๐ฆ๐ฆ๐ฎ๐ญ๐š๐›๐ฅ๐ž, ๐ฏ๐ž๐ซ๐ข๐Ÿ๐ข๐š๐›๐ฅ๐ž ๐ฉ๐ซ๐จ๐Ÿ๐ข๐ฅ๐ž๐ฌ of developers based on their ๐ซ๐ž๐š๐ฅ-๐ฐ๐จ๐ซ๐ฅ๐ ๐ฉ๐ž๐ซ๐Ÿ๐จ๐ซ๐ฆ๐š๐ง๐œ๐ž ๐จ๐ง ๐œ๐จ๐ฆ๐ฉ๐ž๐ญ๐ข๐ญ๐ข๐ฏ๐ž ๐ฉ๐ซ๐จ๐ ๐ซ๐š๐ฆ๐ฆ๐ข๐ง๐  ๐š๐ง๐ ๐ฌ๐ค๐ข๐ฅ๐ฅ-๐š๐ฌ๐ฌ๐ž๐ฌ๐ฌ๐ฆ๐ž๐ง๐ญ .

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors