Skip to content

Latest commit

 

History

History
125 lines (92 loc) · 4.38 KB

File metadata and controls

125 lines (92 loc) · 4.38 KB

CFlytics Hero Banner

🤖 CFlytics - The Ultimate Codeforces Dashboard & Analytics Platform

CI License: MIT Next.js Tailwind CSS Prisma

CFlytics is a premium, high-performance analytics and tracking platform designed specifically for Codeforces competitive programmers. It transforms raw data into actionable insights, helping you identify weaknesses, track progress, and sharpen your skills.


✨ Key Features

📊 Advanced Analytics & Insights

  • Rating Projections: Visualise your future rating trends based on current performance.
  • Weakness Identification: Automatically identifies tags and difficulty levels where you struggle.
  • Contest Performance: Detailed breakdown of your performance in every Codeforces contest.

💻 Integrated Online Compiler (IDE)

  • Multi-Language Support: Code in C++, Python, Java, and more with full syntax highlighting.
  • Real-time Sync: Your code is safely synced to local storage as you type.
  • Sample Testing: Run against sample test cases officially provided by Codeforces.
  • Custom Test Cases: Add your own test cases to edge-case your solutions.
  • Auto-Formatting: Keep your code clean with one-click Prettier/Monaco formatting.

🔍 Smart Problem Explorer

  • 8000+ Problems: Browse the entire Codeforces problem set.
  • Advanced Filtering: Filter by tags, rating ranges, and solved status.
  • Intelligent Caching: Lightning-fast search powered by Redis and Prisma.

👥 Social & Comparison

  • User Comparison: Compare your stats side-by-side with friends or top programmers.
  • Sharing: Generate shareable links for your solutions and dashboard views.

🛠️ Tech Stack

Layer Technology
Framework Next.js 15+ (App Router)
Language TypeScript
Database Prisma with PostgreSQL (Neon)
Caching Redis (ioredis)
UI/UX Tailwind CSS 4, shadcn/ui, Framer Motion
State Management React Query & Zustand
Editor Monaco Editor

🚀 Quick Start

1. Prerequisite

  • Node.js 20+
  • A PostgreSQL database (Neon recommended)
  • (Optional) Redis server

2. Installation

# Clone the repository
git clone https://github.com/premshaw23/cflytics.git
cd cflytics

# Install dependencies
npm install

3. Environment Setup

Copy .env.example to .env and fill in your credentials:

DATABASE_URL="your_postgresql_url"
REDIS_URL="your_redis_url"
CF_API_KEY="your_api_key"
CF_API_SECRET="your_api_secret"

4. Database Initialization

npx prisma generate
npx prisma db push

5. Launch

npm run dev

Open http://localhost:3000 to see CFlytics in action!


📖 Documentation

Detailed documentation can be found in the docs/ directory:


🤝 Contributing

We love contributions! Please see our CONTRIBUTING.md for guidelines on how to get started.


📝 License

This project is licensed under the MIT License. See the LICENSE file for details.


📧 Connect

Developed with ❤️ for the CP community.


"Analyze. Optimize. Dominate."