Skip to content

🧊 CubeMate - 3D Rubik's Cube Solver

Notifications You must be signed in to change notification settings

ashvin2005/cubemate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

7 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🧊 CubeMate - 3D Rubik's Cube Solving Companion

An intelligent web-based 3D Rubik's Cube solver and learning platform

Project Status Team Size Semester

πŸ“– Overview

CubeMate is an advanced web application that combines 3D visualization, intelligent solving algorithms, and educational features to make Rubik's cube solving accessible and engaging for everyone. Whether you're a beginner learning your first solve or an enthusiast exploring advanced methods, CubeMate provides the tools and guidance you need.

✨ Key Features

  • 🎨 Interactive 3D Cube: Realistic cube visualization with smooth animations
  • 🧠 Intelligent Solver: Kociemba algorithm for optimal solutions
  • πŸ“š Learning Hub: Step-by-step tutorials and pattern library
  • πŸ“Š Progress Tracking: Personal statistics and achievement system
  • πŸ† Community Features: Challenges, leaderboards, and competitions

πŸ› οΈ Tech Stack

Frontend

  • React.js with JavaScript (team expertise)
  • Three.js with react-three-fiber (learnable)
  • Tailwind CSS (team knows)
  • React Router v6

Backend

  • Node.js with Express.js (team expertise)
  • Supabase (PostgreSQL) + Prisma ORM (team knows)
  • JWT Authentication with Supabase Auth
  • Python with kociemba library for cube solving

Deployment

  • Frontend: Vercel (team knows)
  • Backend: Vercel Serverless Functions
  • Database: Supabase (team expertise)

πŸ“ Project Structure

cubemate/
β”œβ”€β”€ frontend/                 # React.js application
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/      # Reusable UI components
β”‚   β”‚   β”œβ”€β”€ pages/          # Application pages
β”‚   β”‚   β”œβ”€β”€ hooks/          # Custom React hooks
β”‚   β”‚   β”œβ”€β”€ utils/          # Utility functions
β”‚   β”‚   └── store/          # State management
β”‚   └── public/             # Static assets
β”œβ”€β”€ backend/                 # Server application
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ routes/         # API endpoints
β”‚   β”‚   β”œβ”€β”€ models/         # Database models
β”‚   β”‚   β”œβ”€β”€ middleware/     # Custom middleware
β”‚   β”‚   └── utils/          # Server utilities
β”‚   └── tests/              # Backend tests
β”œβ”€β”€ solver/                  # Cube solving algorithms
β”‚   β”œβ”€β”€ kociemba/           # Kociemba implementation
β”‚   └── computer_vision/    # OpenCV color detection
β”œβ”€β”€ docs/                   # Documentation
└── deployment/             # Deployment configurations

πŸš€ Getting Started

Prerequisites

  • Node.js (v16+)
  • Python (v3.8+)
  • Git and GitHub account

Installation

  1. Clone the repository

    git clone https://github.com/ashvin2005/cubemate.git
    cd cubemate
  2. Install all dependencies

    npm run install:all
  3. Environment Setup

    # Copy environment template
    cp .env.example .env
    # Add your Supabase credentials
  4. Start development

    npm run dev

πŸ‘₯ Team Members

Name
Ashvin Tiwari
Kanishk Kumar Ranjan
Aayush Chaturvedi
Bharat Singh

πŸ“‹ Development Progress

βœ… Completed

  • Project planning and architecture
  • Repository setup and Git initialization
  • Technology stack selection
  • Database schema design (Prisma)

πŸ”„ In Progress

  • Basic React app setup with Vite
  • Supabase project configuration
  • Basic 3D cube rendering with Three.js

πŸ“… Upcoming

  • User authentication with Supabase Auth
  • Cube state management system
  • Python solving algorithm integration
  • Mobile-responsive UI design

🀝 Contributing

This is an academic project for semester 3. Team members should:

  1. Create feature branches for new development
  2. Follow the established coding conventions
  3. Write tests for new functionality
  4. Update documentation as needed

Branch Naming Convention

feature/cube-visualization
bugfix/rotation-animation
hotfix/authentication-error

Commit Message Format

type(scope): description

feat(cube): add 3D rotation animations
fix(auth): resolve JWT token expiration issue
docs(readme): update installation instructions

πŸ“š Documentation

πŸ”— Links

  • Live Demo: (Coming Soon)
  • Project Presentation: (Coming Soon)
  • Design Mockups: (Coming Soon)

πŸ“„ License

This project is created for educational purposes as part of a semester project. All rights reserved to the team members.

πŸ™ Acknowledgments

  • Kociemba algorithm for optimal cube solving
  • Three.js community for 3D visualization resources
  • OpenCV team for computer vision capabilities
  • Our course instructors for guidance and support

Note: This project is actively under development. Features and documentation will be updated regularly as we progress through the semester.

About

🧊 CubeMate - 3D Rubik's Cube Solver

Resources

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

No packages published

Contributors 2

  •  
  •